public class Test
{
public static void main(String[] args)
{
A aa=new A();
aa.print();
A bb=new B();
bb.print();
}
}
class A
{
public void print()
{ System.out.println(this.i);
} public int i=10;
}class B extends A
{ public int i=15;
}
程序运行结果为
10
10显然,bb.print()函数读取的是父类A的实例域i=10,怎么样才能读取子类B的实例域i=15呢?
{
public static void main(String[] args)
{
A aa=new A();
aa.print();
A bb=new B();
bb.print();
}
}
class A
{
public void print()
{ System.out.println(this.i);
} public int i=10;
}class B extends A
{ public int i=15;
}
程序运行结果为
10
10显然,bb.print()函数读取的是父类A的实例域i=10,怎么样才能读取子类B的实例域i=15呢?
解决方案 »
- 请教各位高手,到底错在哪啊?
- 小孩围成一个圈,每隔几个就出局,最后剩下谁的问题
- String类
- java的if和switch语法,和C++完全一致吧??
- java AWT中怎么样去掉combobox右边的下三角标签
- frame 上加上一个 panel,在 panel 上有个按钮,当按下这个按钮如何获取 frame 的 obj?
- 100分求助,哪位大哥能帮忙讲解通了,我再申请几个号给他加分都行
- 關於播放多媒體的問題?急。分不夠可加。
- 请问如何将float型的数据转换为int型的?
- JScrollPane中JTable边框问题
- 对只转发结果集的无效操作:absolute
- 新手问题-----关于do-while语句的运用
class B extends A
{ public int i=15;
public void print()
{
System.out.print(this.i);
}
} 把父类的方法重写!
1个同楼上的,另外一个方法是在Test类里面创建B类对象,B bb=new B();System.out.println(bb.i);
public static void main(String[] args){
A aa=new A();
aa.print();
A bb=new B();
bb.print();
}
}class A{
public int i=10;
public void print(){
System.out.println(this.i);
}
}class B extends A{
public int i=15;
}
主要然后通过super 和this等关键字在方法里面来制定调用那个i;
2楼的就可以