package lmlc.test;
class Parent {
protected String name;
public Parent(String name) {
this.name = name;
}
}
public class initTest extends Parent{
protected String name;
protected int age;
public initTest(String name,int age) {
super(name);
this.age = age;
}
public static void main(String args []) {
initTest t = new initTest("aa",10);
System.out.println(t instanceof Parent);
System.out.println(t.name);
System.out.println(t.age);
Parent p = new initTest("bb",11);
System.out.println(p instanceof initTest);
System.out.println(p.name);
initTest tt = (initTest) p;
System.out.println(tt.age);
//System.out.println(p.age);
}
}
输出:
true
null
10
true
bb
11
在运行是,要确定类实例的具体类型,是哪个子类型,使用instanceof
最后一句会编译的时候提示错误,因为声明的时候他是父类,父类没有age属性,需要进行类型转换成具体的子类,然后调用子类的方法,属性。