1.this关键字的作用
1)调用本类中的属性;
2)调用本类中的构造方法;且只能放首行,且必须留一个构造方法作为出口,即不能递归调用
3)表示当前对象;
2.匿名对象
直接new出来的对象,不创建变量名,且只能使用一次,通常作为方法的参数及返回值使用
3.继承
关键字:extends
通过继承,子类可以直接访问父类中非私有的属性及方法
只允许单继承,但是可以多层继承
子类对象的实例化过程是先调用父类的构造器,再调用子类的构造器;
子类程序调用方法,先调用子类方法,如果子类没有再调用父类中的方法;
子类中若与父类中定义了同名变量,则不会覆盖父类中的同名变量.或是子类中定义了同名方法则会完全覆盖父类中的方法.
4.方法重写(Override)
子类中定义了与父类中同样的方法,包括函数名/返回值/参数类型等 ,只是执行主体发生改变.注意重写方法的权限应大于等于父类权限
重写方法抛出的异常不能大于原方法抛出的异常
5.super关键字
使用super关键字从父类中调用中构造方法/普通方法/属性
只能放首行,所以无法与this同时出现在同一代码块中
6.抽象类
关键字abstract
在父类仅知道方法名称,而不能涵盖方法主体的具体内容时,可以仅定义方法名称.具体方法实现由子类具体实现,方法名称中需包含abstract关键字
格式:访问权限 abstract 返回值 方法名();
7.static关键字和静态代码块
1)static可用于修饰属性:声明为全局属性或静态属性/类属性,建议由类直接访问(可以通过实例化对象访问,但不建议)
2)用于修饰方法:为全局方法,可被非static方法调用.static只能调用static修饰的方法
3)修饰代码块,成为静态代码块.静态代码块先于main方法执行/先于构造代码块执行.且只能使用一次
静态代码块--构造块--main---构造方法
8.final关键字
1)final声明的类不能被继承
2)final声明的方法不能被重写
3)final声明的变量成为常量,不可以被修改
9.访问权限修饰符
从大到小的顺序为:public--protected--default--private
private--只能在同一类中使用;
default--不用写出来,默认不加.可以被同一包中的类使用
protected--可以被不同包的子类使用
public--可以被不同包的其它类使用