问答详情
源自:-

子类调用父类方法问题(非构造)

package test3;

abstract class fu
{
	int age;
	int getage()
	{
		return age;
	}	

}



class zi extends fu
{
	int age;
	

	/*
	int getage()
	{
		return age;
	}	
	*/
	
}

class test3 {

	
	public static void main (String[] args)
	{
			zi z = new zi();
			z.age=3;
			int a=z.getage();
			System.out.println(a);

		
	}
}

目前的结果是 0

如果把注释取消,结果是3。

求老师指点迷津:


父类有方法,子类没有,我创建【子类对象】,为什么最后是0?子类不可以用父类的方法么?

对象是子类的,

但如果在子类也创了一模一样的方法, 结果就是3。


提问者:purex3 2015-08-01 23:10

个回答

  • 布尔心
    2015-08-01 23:34:27

    调用父类方法中的getage()方法返回的是父类中的age,方法查找变量的顺序是局部变量-->成员变量-->静态变量