java 为什么是5不是0

来源:百度知道 编辑:UC知道 时间:2024/09/23 11:14:22
class jiang{
private int shiyou=5;
int getint()
{ return shiyou;}
}
class ying extends jiang
{ int shiyou=0;
}
public class jiangying
{ public static void main(String args[])
{ ying i=new ying();
System.out.println(i.getint());
}}

因为调用的是父类中的getint方法(子类中没有,虽然继承了,但是使用的是父类的方法).而父类中getint方法对应的是返回父类中的shiyou.因此结果是5,而不是0.

因为getint()方法返回的是类class jiang的 int shiyou=5;,而不是class ying 的int shiyou=0,重写是对方法而言的,而不是属性

因为子类中没有getint()方法,i.getint()调用的是父类中的方法。返回页是父类中的值。若在子类中重写getint()方法,则返回0.