作用:减少代码的重复,提高代码的复用率
子类继承父类,可以继承父类中的非私有的属性和方法
方法重写(override):子类可以重写从父类继承到的方法
自动转型:子类对象可以自动转换成父类类型,此时调用方法,如果此方法被子类重写,优先调用重写后的方法
多态:同一类型的对象,调用相同的方法,可能出现不同的结果
//父类动物
public class Animal{
//定义动物类的移动方法,测试公有继承
public void movement(){
System.out.println("正在移动");
}
//定义一个私有方法,测试私有能否继承。
private void b(){
System.out.println("继承了私有方法");
}
//定义一个adda方法,测试能否继承 操作私有属性 的公有方法。
private int a;
public void adda(){
a=10;
System.out.println("a:"+a+" 可以继承");
}
//定义一个 叫 的方法测试重写、多态。
public void jiao(){
System.out.println("动物在叫");
}
}
//定义子类鸡继承父类动物
public class ji extends Animal{
//重写叫函数。
public void jiao(){
System.out.println("鸡在叫");
}
}
//定义狗类
public class Dog extends Animal{
//重写叫函数。
public void jiao(){
System.out.println("狗在叫");
}
}
public class Test{
public static void main(String []args){
//利用自动转型进行定义,子类转换成父类。
Animal ji1=new ji();
Dog dog=new Dog();
//测试继承
ji1.movement();
//ji1.b();
//测试结果:私有的b方法没有被继承。
//测试重写、多态
ji1.jiao();
dog.jiao();
//测试能否继承方法adda
ji1.adda();
//测试结果:方法adda()能够正常执行,且数据a能够正常赋值输出。
}
}
输出结果:正在移动
鸡在叫
狗在叫
a:10 可以继承