继承:(Is-a)是面向对象最显著的一个特征! 关键字:extends
一、基本概念
从已有的类派生出新的类,并且新的类能够吸收已有类的数据属性和行为,并且能够扩展新的能力,但是不能够选择性的继承父类。在这里,已有的类称为父类、基类或者超类,新的类称为子类或者派生类。
二、使用方法
修饰符 class 子类类名 extends 父类名{
//类定义的部分
}
三、方法的重写覆盖
父类定义的一些方法不能够满足子类的需要,故引入了方法的重写,在重写的语法中,我们可以直接使用“super . 父类方法名”的方式实现对父类方法的重写覆盖。
代码演示:
class A{
public void fun(){
System.out.println("Java继承!");
}
}
class B extends A{
public void fun(int i){
System.out.println("Java继承位于第" + i +"章!");
}
}
public class AnimalTest{
public static void main(String[] args){
B b=new B();
b.fun(4);
}
}
四、分类
继承分为单继承和多重继承,但是JAVA语言中的类只支持单继承,多重继承机制的实现需要依靠接口。
五、继承的特征
1、继承关系具有传递性。比如:若C继承于B,B继承于A,那么类C既有从类B那里继承下来的属性和方法,也有从类A那里继承下来的属性和方法。
class A{
String name;
public void fun(){
System.out.println("Java继承!");
}
}
class B extends A{
public void fun(){
super.fun();
}
}
class C extends B{
}
public class AnimalTest{
public static void main(String[] args){
C c=new C();
String x=c.name;
c.fun();
}
}
2、继承关系体现了相关类之间的层次结构关系。
3、继承关系提供了软件(属性和方法)复用的功能。
4、继承关系可以提供多重继承机制。
六、注意事项
1、子类是无法继承private所修饰的父类的变量和方法
2、父类的构造方法是不能被继承的
3、String类是final类,是不可以被继承的