每日专题——Java三大特征(一)继承

注:每日专题系列均为本人为了梳理知识从各博客搜集整理,侵删

1、什么是继承

继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例对象和方法,或者子类从父类继承方法,使得子类具有父类相同的行为。

一般来说,子类比超类拥有的功能更加丰富。(子类相当于是对父类的一个扩展和细化)。在通过扩展超类定义子类时,仅需要指出子类与超类的不同之处。

因此在设计类的时候,应该将通用的方法放到超类中,而将具有特色用途的方法放在子类中。这种将通用的功能放到超类的方法在面向对象程序设计中十分普遍。

2、继承关键字

1).extends

一个类B继承另一个类A,要用到关键字extends

public class B extends A{

}

表示B类继承了A类,称B是A的子类(派生类、孩子类),A是B的父类(超类、基类)。B会继承A的对象和方法。

2).super

Java用super表示超类的意思。它有两个用途:
a)、调用超类对象和方法
格式为super.xxx。
b)、 调用超类构造器
在子类构造方法中使用super()可以调用父类的构造方法。但是即使在子类的构造方法中没有使用super(),Java默认也会在子类构造方法中隐式添加super(),这样是为了构造出完整的对象,所以编译器会强制子类去调用父类的无参构造方法
如果父类的无参构造器被声明为private或父类中不存在无参构造器,则必须显式的调用父类的有参构造方法。
使用super()调用构造器的语句必须是子类构造器的第一条语句。

3、重写父类方法

重写是继承的一大重点。重写是指在子类中重写父类已经有的放啊个,这样在调用该方法的时候会自动调用子类重写过的方法。

1、 final、private声明的方法无法被重写。即使子类中有一个同名方法,也不是重写,只是方法重名。
2、 添加一个@Override,表示该方法是重写方法。(如果不是重写方法加上这个注解会报错)推荐在重写方法时加上这个注解,养成良好编写习惯。
3、 普通类继承自抽象类时,必须重写抽象类的方法,否则就会报错。而当抽象类继承自抽象类时,可以不重写父类的抽象方法。

4、继承中的权限修饰

1)、private
父类中声明为private的方法、对象无法被子类调用
2)、public&protected
在继承关系中,无论子类父类在哪里,都可以访问public/protected声明的成员/方法。

在重写方法时可以对权限修饰符进行修改,修改原则是只能从小范围往大范围改

5、继承特性及优缺点

1)、 Java的(类的)继承是单继承的,不允许一个类继承多个父类。
2)、 新类是现有类的一种类型,继承可以把新类向上转型成基类。
3)、 继承的使用可以实现代码共享,减少创建类的工作量,提高代码的重用性和可扩展性。
4)、 继承是侵入性的,只要继承,就必须拥有父类的所有属性和方法,降低了代码的灵活性,增强了耦合性。

发布了8 篇原创文章 · 获赞 0 · 访问量 182

猜你喜欢

转载自blog.csdn.net/qq_41907993/article/details/105314619