首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关于this和super的有关问题

2012-01-09 
关于this和super的问题同时调用this和suoper(带参数的)的构造函数的问题。具体实例,请看下面的代码,在红色

关于this和super的问题
同时调用this和suoper(带参数的)的构造函数的问题。具体实例,请看下面的代码,在红色的部分。
编译时会发现错误,“this语言必须位于第一列。”
但当还下this和super的顺序后,编译时也会发现错误,“super语言必须位于第一列。”
这时候该怎么解决这个问题啊?望高手留意。


class SuperClass {
public int x;

public SuperClass(){
x = 23;
}

public SuperClass(int x) {
this.x = x;
}
}

class SubClass extends SuperClass {
public int y;



public SubClass() {
//super(46);
//super();
y = 12;
}
public SubClass(int y) {
super(46);
this.y = y;
}

public SubClass(int x,int y) {
super(x);
this(y);
}
}

public class TestSuper {
public static void main(String[] args) {
SubClass ss = new SubClass();
SubClass ss2 = new SubClass(1,2);
System.out.println(ss2.x + " " + ss2.y);
}
}

[解决办法]

Java code
 
public SubClass(int y) {
super(46);
this.y = y;
}

public SubClass(int x,int y) {
super(x);
this(y);
}
}


你执行了super(x);又执行super(46);前面的super(x);不就当没执行了吗
所以一般如果又要this,又要super的时候,就把super放在用this调用的构造函数里

热点排行