JAVA的四大特征:
封装:private修饰的成员,只允许本类访问,外界无法直接操作。通过get/set方法来操作私有的成员变量,因为方法内部可以有逻辑处理,提高了代码的安全性。
继承:有利于代码的复用,减少工作量。子类继承父类的非私有成员。
构造方法主要完成对象的初始化,如果没有定义构造方法,默认有无参的构造方法。自己定义了,就没有这个无参构造方法了。
this:指向本类对象。
super:指向父类对象。
子类的构造方法第一行默认调用super()
多态:必须有子父类继承关系,子类方法有重写,父类指向子类对象。调用重写的方法。变量看父类,方法看子类。
扩展性,但不能调用子类特有的方法。
多态应用:方法中使用父类作为参数,可以接受一切子类实参。接口作为方法的参数,实现类作为实参。
向上转型:多态
向下转型:先使用instanceof判断。
抽象:不能确定方法的具体实现。抽象方法无方法体,抽象方法所在的类一定为抽象类,抽象类中不一定有抽象方法。
抽象类:一般为顶级父类,抽象类中的构造方法是供子类创建创建对象的,初始化父类使用的。
接口:是一个标准。内容单一。接口支持多继承,接口中不能有构造方法,静态代码块。
接口的成员变量static final修饰,方法为抽象方法,默认方法default,静态方法。普通类中不可以有default方法,要重写默认方法,不能带有default关键字。
final:修饰类:不能被继承
修饰方法:不能被重写
修饰局部变量:一旦被初始化不能被二次赋值
修饰成员变量:不能二次赋值,要么手动赋值,要么利用所有构造方法赋值。
static:类的所有对象共享类中被static修饰的成员。static修饰的成员是属于类的,不属于对象,优先于对象存在。静态的不能直接访问非静态的,new对象再调用,访问静态方法可以直接类名.调用。
权限修饰符:
修饰符 | 访问权限 |
---|---|
public | 不同包非子类 |
protected | 不同包子类 |
default | 同包 |
private | 同类 |