站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题问个弱智问题.

问个弱智问题.

摘要: 问个弱智问题.


假如我建了一个层次结构的类,第三层的类想直接访问第一层中的一个变量可以吗?这个变量在所有层中均被覆盖了
super.super好像没有这东西吧


直接new对象就好了


没有super.super,不过可以采取一些其它方法.
比如下面的代码所示:

public class Test
{
public static void main(String[] args)
{

MoreDerived m = new MoreDerived(10);

System.out.println(m.getBaseX());
System.out.println(m.getX());
}
}

class Base
{
public Base()
{
}
public Base(int x)
{
this.x = x;
}

public int getX(){
return x;
}
protected int x;
}

class Derived extends Base
{
public Derived()
{
}
public Derived(int x)
{
super(x); // 调用直接基类的构造函数
}
public int getBaseX(){
return super.x; // 返回Base中的x的值
}
protected int x; // 此x覆盖了直接基类Base中的x
}

class MoreDerived extends Derived
{
public MoreDerived(int x){
super(x); // 调用直接基类的构造函数
}
public int getX(){
return this.x; // 返回Derived中新的x变量
}
public int getBaseX()
{
return super.getBaseX(); // 调用Derived中的getBaseX方法
}
}


↑返回目录
前一篇: 建立一个mypg目录 里面的方法怎么写?
后一篇: 看似很简单的问题且又不是很容易!