1. 继承是Java的一个重要且功能强大的特征。
假设定义3个类,分别对猫,狗,猪进行属性和行为的描述,假设它们都有名称,年龄,全部会睡觉,会吃,等等一些具有相同的属性或行为。这时我们的3个类中便会出现许多相同代码。而且在伦理中它们都属于动物,都会做一些动物都做的事情。我们便可以将它们的共同属性和行为提取出来,创建一个新的类,称为动物类。猫,狗,猪便可以继承到这个动物类中公开的属性和行为,我们将动物类称之为父类,猫,狗,猪称为动物类的子类。
写个小案例了解一下:
class Demo{
public static void main(String[] args) {
Cat cat = new Cat();
cat.age = 2;
cat.name = "小白";
System.out.println(cat.name+" : "+cat.age+"岁啦");
cat.sleep();
Dog dog = new Dog();
dog.age = 3;
dog.name = "小黑";
System.out.println(dog.name+" : "+dog.age+"岁啦");
dog.sleep();
}
} //输出内容:
class Animal{ //父类
//都有年龄和名称 闭眼睡觉...
public int age; 小白 : 2岁啦
public String name; 小黑 : 3岁啦
public void sleep(){
System.out.println("闭眼睡觉...");
}
}
//继承Animal父类,
class Cat extends Animal{ //子类
//继承到了name,age和sleep()方法
public void catchJerry(){ //子类特有的方法
System.out.println("捉老鼠....");
}
}
class Dog extends Animal{
//继承到了name,age和sleep()方法
}
继承的好处:
- 继承的出现提高了代码的复用性,提高软件开发效率。
- 继承的出现让类与类之间产生了关系,提供了多态的前提
注意:
- 父类中的私有数据域在该类之外是不可访问的,如Animal类里public int age 是private int age 的话,子类便不会继承到age属性,一般情况下我们是希望age属性被继承到的,所以不会对age使用private。
- 继承的条