java继承引用方法、变量

记录一下,不是太懂其实,有高人可以指点一二

class parent {
	String name = "parent";
	parent() {
		//测试的两种情况
		this.say();//I'm son
		say();//I'm son
	}
	void say() {
		System.out.println("I'm parent");
	}
}

class son extends parent {
	String name = "son";
	
	son() {
		super.say();//I'm parent
		this.say();//I'm son,跟直接调用say一样
		System.out.println(super.name);//parent
		System.out.println(this.name);//son,跟直接打印name一样name
	}
	
	void say() {
		System.out.println("I'm son");
	}
}

void test() {
        son s = new son();
        System.out.println(s.name);//son
        s.say();//I'm son
        parent p = new son();
        System.out.println(p.name);//parent,这里类似于super.name
        p.say();//I'm son		    
}

通过这个例子大概可已得出,实例化的时候,子类和父类都生成一份,只不过,对方法和实例变量默认都加上了this引用,除非有super修饰。对于变量,经过向上转型,可以得到父类的值。

posted @ 2019-12-27 15:31  少年小白  阅读(433)  评论(0编辑  收藏  举报