_056_Java_继承

  • 为什么要有继承?

多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。

此处的多个类称为子类,单独的这个类称为父类(基类或超类)。可以理解为:“子类 is a 父类” 类继承语法规则:    

  class Subclass extends Superclass{ }

  • 作用:

继承的出现提高了代码的复用性。

继承的出现让类与类之间产生了关系,提供了多态的前提。

不要仅为了获取其他类中某个功能而去继承。

子类继承了父类,就继承了父类的方法和属性。

在子类中,可以使用父类中定义的方法和属性,也可以创建新的数据和方法。

在Java 中,继承的关键字用的是“extends”,即子类不是父类的子集,而是对父类的“扩展”。

  • 关于继承的规则: 子类不能直接访问父类中私有的(private)的成员变量和方法。

  • 子类继承父类,子类拥有了父类的所有属性和方法。   

  • 程序验证,父类的私有属性和方法子类是无法直接访问的。当然私有属性可以通过public修饰的getter和setter方法访问到的,但是私有方法不行。   

  • 假设:子类不能够继承父类的私有属性和方法   

  • 那么:分析内存后,会发现,当一个子类被实例化的时候,默认会先调用父类的构造方法对父类进行初始化,即在内存中创建一个父类对象,然后再父类对象的外部放上子类独有的属性,两者合起来成为一个子类的对象。   

  • 所以:子类继承了父类的所有属性和方法或子类拥有父类的所有属性和方法是对的,只不过父类的私有属性和方法,子类是无法直接访问到的。即只是拥有,但是无法使用。

猜你喜欢

转载自blog.csdn.net/poiuyppp/article/details/82458487