从上图我们可以看出,这就是一个继承,动物类是父类,猫、狼、狗可以继承父类的某些属性,例如:
动物类以下属性:
- 眼睛
- 耳朵
- 鼻子
狼、猫、狗特有属性为其叫声
那么下面用Java代码来实现描述继承
代码package cn.test.logan.day10;
/**
* 父类 动物类
* @author QIN
*
*/
public class Animal {
public String name;
private String eye; // private 修饰的属性,不能被子类继承
public String ears;
String age;// default属性,如果跨包,则子类也不能继承
public void say(){
}
public void eat(){
System.out.println("吃东西...");
}
}
Animal.java
package cn.test.logan.day10;
/**
* 用extends关键字来表示对指定的父类进行继承
* 那么CatAnimal就具有了Animal父类中的属性和方法
* @author QIN
*
*/
public class CatAnimal extends Animal{
// 重写父类的方法say
@Override
public void say(){
System.out.println("喵喵喵");
}
public void catchMouse(){
System.out.println("抓到老鼠了");
}
}
CatAnimal.java
package cn.test.logan.day10;
/**
* 测试类
* @author QIN
*
*/
public class Test {
public static void main(String[] args) {
// 第一种创建对象的方法:创建一个CatAnimal子类对象,用CatAnimal变量类型来引用
CatAnimal catAnimal = new CatAnimal();
// 第二种创建对象的方法:用父类型的变量来引用一个子类对象
// 缺点:所创建的对象不能使用到子类的特别属性和方法
//Animal catAnimal1 = new CatAnimal();
//catAnimal.catchMouse(); //可以使用该方法
//catAnimal1.catchMouse(); // 不可以使用
catAnimal.name="小A";
System.out.println(catAnimal.name);
}
}
Test.java
作者:奔跑的金鱼