public static void main(String[] args)
{
Cat dx = new Cat( "小黄" , "蓝色" );//调用Cat类
}
}
class Animal
{
public String name;//设置Animal的成员变量:name
Animal(String set_name)//构造方法
{
this.name = set_name;//将输入的参数赋给成员变量name
}
}
class Cat extends Animal//Cat继承于Animal
{
public String eyesColor;//Cat自己的成员变量:eyesColor
Cat(String N,String eye)//构造方法
{
super(N);//调用Animal的构造方法,将N参数传入
this.eyesColor = eye;
System.out.println(this.name);
System.out.println(this.eyesColor);
}
}
//最终打印出:
小黄//name
蓝色//eyesColor
*1. name是父类的成员变量,eyesColor是子类的成员变量
如果此时new一只Animal对象"A"和Cat对象"B"
使用instance of进行类判断
B instanceof Animal//会显示true,Cat是Animal类的子类,所以Cat的对象B是Animal类之一
A instanceof Cat//会显示false,A是父类,Animal的对象A并不是Cat类之一
![]()
若要访问B特有的成员变量和方法,则需要对A进行强制转换,转换成Cat类型
Cat DX = (Cat) A;
![]()