1、final关键字:
final修饰的变量值是无法修改的,无法修改的变量就是常量
* 常量 final public static 数据类型 变量名必须全部大写 = 必须赋值;
常量的名字 大写 中间下划线分隔 CLOTH_SIZE = "XXXXL";
final修饰一个方法:方法不能被重写
final修饰一个类:该类无法被继承 String无法被继承
final修饰形参:该参数在方法体不能被再次赋值
2、Object: 常用方法
equals:
toString:
getClass:
hashCode :int 类型的值
表示的是对象在堆内存中的地址,通过hash算法算出来的一个值
3、抽象方法:使用abstract修饰(如果父类有想让子类必须实现的方法时使用)
1、抽象方法没有方法体
2、只有一个抽象方法,该类肯定是抽象类
3、在子类继承抽象类,抽象方法必须实现或着重写
4、抽象类不能被实例化
5、一个抽象类可以没有抽象方法
6、抽象类是可以有构造方法的,主要用于子类初始化时,调用父类的构造方法
4、接口:interface (重点)
1、接口主要用于不确定的,有一定规范的功能
2、接口中的变量默认都是静态常量,public static final
3、方法默认是public abstract 抽象方法
4、一个类实现某个接口,必须实现接口的类
5、一个类可以实现多个接口,但是无法继承多个类
6、接口没有构造方法,所以无法实例化
7、接口可以使用extents继承别的接口,可以多继承接口
5、抽象类和接口的区别
1、一个是class一个是interface
2、抽象类有构造方法,接口无构造方法,但是两者都不能被实例化
3、抽象类中可以有变量,接口中只有常量
共同点:
1、两者中的抽象方法都必须被子类实现
6、多态