java super继承测试

来源:互联网 发布:如何成为数据分析师 编辑:程序博客网 时间:2024/06/06 17:31
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属性,需要进行类型转换成具体的子类,然后调用子类的方法,属性。

原创粉丝点击