继承
子类可以通过对象点的方式调用方法。共有的可以直接用,或者this点,也可以super点。但有区别。
Java 单一继承 一个类只能继承一个。否则会出现菱形继承
访问修饰符
Private 任何类都无法访问包括子类
Protect 子类可以访问父类;不同包路径下,子类可以同import导入后访问protect修饰的变量和方法。直接用this或者super调用,不用对象点的方式调用
默认:子类可以访问同一个包路径下
多态就是方法重写和方法重载
方法重载和重写的区别
重载:同一个作用域,函数名相同,参数列表不同。
void fun(){
}
void fun (int a){
}
重写:继承中,子类重写实现父类的方法(函数名相同,参数列表相同,访问修饰符(子类)>=父类)
重写的实现原理
地址覆盖
==和equals 都是比较地址。
重写toString方法 右键 Generate toString
重写equals
@Override
public boolean equals(Object obj){
//如果自己和自己比较直接return;
if(this==obj){
return true;
}
//必须要相同类型的才可以比较
if(obj instanceof student){
return this.score == obj.score;
}
return false;
}