1.什么是继承
继承是用已存在的类作为基础去建立新的类,这个新的类就称为子类,子类可以拥有父类的公有属性和方法。
2.怎样实现继承
在java语言中,用extends(扩展)关键字来表示一个类继承了另一个类。
在父类中只定义一些通用的属性和方法。
子类自动继承父类的属性和方法,子类中可以定义特定的属性和方法。或子类重新定义父类的属性、重写父类的方法可以获得与父类不同的功能。
3.继承有什么特点
子类拥有父类非private的属性和方法。
子类可以拥有自己属性和方法,即子类可以对父类进行扩展。
子类可以用自己的方式实现父类的方法。(方法重写)
4.继承有什么缺陷
父类变,子类就必须变。
继承破坏了封装,对于父类而言,它的实现细节对与子类来说都是透明的。
继承是一种强耦合关系。
5.为什么要用继承?
使用继承可以有效实现代码复用,避免重复代码的出现。
当两个类具有相同的特征(属性)和行为(方法)时,可以将相同的部分抽取出来放到一个类中作为父类,其它两个类继承这个父类。
继承实现了面向对象的原则:write once,only once(编写一次、且只编写一次)
6.构造器
与类同名,没有返回值
它只能够被调用,而不能被继承
调用父类的构造方法我们使用super()即可,调用本身类的其他构造器用this();都要写在第一行
如果父类没有默认构造器,我们就要必须显示的使用super来调用父类有参构造器,否则编译器会报错:无法找到符合父类形式的构造器
总结:继承是java的三大特性之一(另外两个是封装和多态),它是指用一个新的类(子类)去扩展原有的类(父类),子类默认拥有父类的公有属性和方法,也可以重写父类的属性和方法。继承可以提高代码复用率,将一些具有共同属性和方法的类抽象出来放到一个类中作为父类,其他的类继承这个父类,就能实现代码复用。需要注意的是,构造方法不能被继承,如果需要调用构造方法,必须在方法的第一行调用。最后,java是单根继承
参考资料:
http://blog.csdn.net/chenssy/article/details/12785831
http://www.cnblogs.com/dolphin0520/p/3803432.html
http://blog.csdn.net/xinxin19881112/article/details/2944760