1.extends: 继承,避免了代码的重复。 //默认:继承Object
其中Student是子类;People是父类或基类。
2.若父类的属性方法定义成了private,子类虽然继承了,但却没有访问权限。
3.super()用于调用父类的构造函数,让父亲去初始化。
4.this与super:
this.成员变量:this指向当前对象
this.成员方法:
this() 调用当前类中其他的无参构造 1.必须位于当前有效代码第一行
2.两个构造方法不能相互调用
3.一个构造方法中不能调用多个this()
4.成员方法不能调用构造方法
super:代表父类对象,在子类中访问父类的成员变量,方法:super
super():在当前构造方法中用super()来初始化继承下来的父类属性 1.必须位于当前有效代码第一行
2.一个构造方法中不能调用多个super()
3.成员方法不能调用构造方法
5.函数的重写:子类继承到父类的函数,可能需要重新实现该函数,比如说猫类继承动物类,它的行为方式和笼统意义上的动物行为不同,要重新定义。
在重写函数的上方写@Override
6.抽象方法:在其中的方法没有函数体
public abstract void eat();
7.抽象类中不一定含有抽象方法,但含有抽象方法的类一定是抽象类
8.抽象类与普通类的区别:1.抽象类可以含有抽象方法和实例方法(实现了方法体);
2.抽象类不能被实例化,即不能new一个对象。
9.子类继承了父类,必须重写父类的抽象方法。
public Cat(String name,int age){//需要手写构造方法,传入父类的参数。
super(name,age);
}
10.Animal a=new Cat();
不可以Cat a=new Animal();
11.方法的重写原理是在当前对象的方法区内重写了一个cat(),并把cat()方法的地址覆盖到了animal()方法的地址。
12.instanceof:运行期判断当前a变量所引用的对象是否是animal对象。