this/super/static/final/匿名对象/继承/抽象类/访问权限修饰符
1.this关键字的作用
1)调用本类中的属性;
2)调用本类中的构造方法;且只能放首行,且必须留一个构造方法作为出口,即不能递归调用
3)表示当前对象;
2.匿名对象
直接new出来的对象,不创建变量名,且只能使用一次,通常作为方法的参数及返回值使用
3.继承
继承是面向对象的三大特征之一,通过关键字:extends实现,被继承的类称为父类(也称作基类/超类),实现继承的类称为子类(也称作派生类)。
特点:
(1)通过继承,子类可以直接访问父类中非私有的属性及方法
(2)类的继承只允许单继承,但是可以多层继承;接口可以多继承;
(3)构造方法不可继承;
注意事项:
(1)子类对象的实例化过程是先调用父类的构造器,再调用子类的构造器;
(2)子类程序调用方法,先调用子类方法,如果子类没有再调用父类中的方法;
(3)子类中若与父类中定义了同名变量,则不会覆盖父类中的同名变量.或是子类中定义了同名方法则会完全覆盖父类中的方法.
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声明的变量成为常量,不可以被修改