继承

66 阅读2分钟

1.什么是继承

extends 建立起类和类之间的关系,所以要存在至少2个类

语法: 子类 extends 父类

2.继承的好处和弊端

好处:

提高代码的复用性

提高代码的维护性

建立起了类和类之间的关联关系,是多态的前提(多态必须建立在继承基础之上)

弊端:

耦合度高了,牵一发动全身(开发的原则高复用,低耦合)

3.继承的特点

1.java中不允许类的多继承(一个孩子只有一个爹)

2.java允许多层继承,继承是可以有传递性的

继承中成员变量的关系

1.子类成员变量名和父类成员变量名重复的情况(没有意义)

2.不同名的变量

this和super在继承中的使用

this:代表当前对象的引用

super:代表当前对象父类的引用

调用成员变量的时候:

this 可以调用本类成员变量,也可调用父类的成员变量

super 调用父类的成员变量

调用成员方法的时候:

this 本类+父类

super 父类

调用构造方法的时候:

this 本类

super 父类

4.继承的注意事项

  1. 子类只能访问父类的非私有成员(成员变量+成员方法)

  2. 子类不能继承父类的构造方法,但是可以通过super去访问

  3. 不要为了继承而去继承

class Father{
int num=10; 
private String car="GTR"; 
public void FMethod() { 
System.out.println("父类的成员方法"); 
}} 
class Son extends Father{
int result=20; 
public Son() { 
super(); 
System.out.println(this.num);
} 
public void method() { 
System.out.println(this.num);//10 //num是从父类继承过来的 System.out.println(super.num);//10 // 直接调用父类的 
System.out.println(this.result);// this既可以调用本类中的成员,也可以调用父类中的非私有成员 //System.out.println(super.result); // 报错,因为父类没有result this.FMethod(); super.FMethod(); }

方法重写:方法名相同 方法体不同

什么时候用方法重写?

子类既需要父类的功能,又需要自己独有的功能逻辑的时候

注意事项:

1.父类的私有方法不能被重写,因为父类的私有方法本身是不能被继承的,所以不能重写。

2.子类重写父类方法的时候,最好声明的一模一样