Java:class6 继承

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_43336822/article/details/95598938

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对象。

猜你喜欢

转载自blog.csdn.net/qq_43336822/article/details/95598938