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呢?
解决方案 »
- [求助]前辈们帮忙推荐下一些看起来简单易懂的设计模式方面的书
- 想做个客户端消息提示,大侠们指点一下
- 弱问:eclipse里怎么在多个文件内进行搜索?
- 如何使用JButton、JLabel里的ICON属性?
- 初学者的问题:用JAVA来实现一个最简单的数据库程序,该怎么做?
- java的平台无关性是什么意思?
- 请问一下,我在linux下已经安装了java SDK 但要如何配置环境变量?
- 请大家帮我找找!是这样的。。。。。
- Java的中文问题如何解决??
- 发了三次请求了, 能不能帮俺找点关于分析WEB 日志的代码? 简单点的, 类似的也行
- 对只转发结果集的无效操作: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楼的就可以