JAVA定义小记

发布于 2020-09-06  113 次阅读


  • 用.分隔,可以理解为文件夹一样封装文件的存在。
  • 用import关键字使用,用来区分重名的两个类。
  • 命名规范为全部小写
  • 。。。

修饰符

  • 修饰访问方法与范围

this关键字

this代表当前对象

this.属性 操作当前对象的属性

this.方法 调用当前对象的方法

内部类

1. 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类

2. 内部类的方法可以直接访问外部类的所有数据,包括私有的数据

3. 内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便

内部类可分为以下几种:

  • 成员内部类(最常见)
  • 静态内部类
  • 方法内部类
  • 匿名内部类

外部类是不能直接使用内部类的成员和方法滴

继承

子类拥有父类的所有属性方法,实现代码复用,但是不能继承private。java为单继承。

语法规则:class 子类 extends 父类

super:对象内部使用,代表父类对象

Object类时所有类的父类,是默认父类。
1.toString() 返回对象的哈希CODE码,可以通过重写表示出对象的属性
2.equals() 比较对象是否指向同一地址,返回布尔值

多态

强制类型转换

一般来说向上转换没有风险,向下转换有风险。可以用instanceof关键字判断是否可以转换,

这种Cat就会报错
如此可以规避转换出错

接口

规定某些类的实现方法。定义用interface关键字。

[修饰符] interface 接口命 [extends 父接口1,父接口2.。。]
{
多个常量定义
多个抽象方法定义
}

接口是用来继承,被实现的,修饰符一般用public。

不能使用private和protected修饰接口

接口中属性是常量,即使定义时不添加public static final 修饰符也会自动加、

接口使用

[修饰符] class 类名 extends 父类 implements 接口1,接口2
{
}

另一种方法,用于匿名内部类

Interface i = new Interface(){
public void method(){
System.out.println("匿名内部类实现接口的方式");
}
};

如何在抽象类和接口中作出抉择的关键点在于,实现类是否有公共的特征或者行为。如果只是为了规定实现类只有一些共通的行为特征,则可以使用接口来声明。如果实现类都有共同的行为,则可以extract该行为到抽象类里实现。