Java中对继承(extends)的理解

时间:2022-07-12

什么是继承:

通俗易懂就好像是你继承你了爸的财产,其中你是子类,你爸是父类继承在Java中被称为面向对象的三大的特征,其中他表示的是,从已有的类中派生出新的类,新的类拥有了父类中属性和方法(private修饰符修饰的属性和方法子类无法通过继承使用)


继承的关键字extends


继承在Java中显示的格式:

class A extends B{}

这样称为A是B的子类,B是A的父类,当然除了叫子类父类还有其他的叫法,只不过我习惯于叫子类和父类

A:子类,派生类

B:父类,超类,基类


继承的优点

1.减少了代码的冗余,提高了代码的复用性

2.便于功能的拓展(把子类需要的功能,在父类中声明,然后子类在继承其父类)

3.为多态性的使用,提供了前提


继承的缺点

1.子类与父类之间紧密耦合,子类依赖于父类的实现,子类缺乏独立性。

2.不支持动态继承。在运行时,子类无法选择不同的父类

3.父类功能的改变对子类也会造成影响。


继承其他事项

1.Java中是不支持类的多继承的比如:(特别注意这里指的是类,接口是可以实现多继承)

class A extends B,C{} 这里我就没有创建A,B,C这三个类了,其他类代替也一样,主要是体现出类无法实现类之间的多继承,提示错误为:类无法拓展多个类

image.png

3.所有的类(除了java.long.Objcet类)都直接或者间接的继承了java.long.Objcet类

4.所有的类都能使用其Objcet类中声明的方法和属性。

5.如果父类的属性和方法使用了private修饰之后,子类是无法直接获取了,这里指的是无法直接获取,因为使用private修饰之后,体现了该属性的封装性。需要获取的话,可以提供该属性的get,set方法,父类中的方法如果用private修饰之后可以在公共(public修饰)的方法中调用私有的方法(private),然后在到子类中调用该公共的方法,所以还是可以获取得。


实现多“继承”的二种方法

1.class A extends B{ } class B extends C 那么我们称B是A的直接父类,C是A的间接父类。

2.使用接口(implements )实现多继承 class A implements B,C (注意其中的B和C不是类是接口访问修饰符后面用interface修饰不是class修饰) 如下

image.png


以上就是我对继承的理解,如果有大佬看到这篇文章的不足之处希望大佬加以补充。

Copyright © 2016 广州思洋文化传播有限公司,保留所有权利。 粤ICP备09033321号

与项目经理交流
扫描二维码
与项目经理交流
ciya68