interface Wangwu extends Zhangwu, Lisi{
Man man= new Man("good!");
}
class Man implements Wangwu{
private String name;
public String getName() {
return name;
}
public Man(String name) {
this.name = name;
}
public void play() {
man = new Man("Football");
System.out.println(man.getName());
}
}
不知道哪里有错误啊,感觉哪里都没有错啊。能解释解释吗,谢谢了。 作者: sheng6699 时间: 2014-4-16 10:16
1 Man man= new Man("good!");//这里完整应该写 public static final .....。(这里是解题的关键);
2 man = new Man("good!"); //这里有问题。 这里改变了man的reference(引用),而这里的man来自 Wangwu interface,Wangwu interface里的man是public static final的,被final的object是不能被改变reference的。因此编译器将在" man = new Man("Football");"这里显示有异常。作者: 坏米饭 时间: 2014-4-16 10:23 本帖最后由 坏米饭 于 2014-4-16 10:33 编辑
public static void main(String[] args) {
Man mainman = new Man("mainman");
mainman.play();
}
interface Zhangsan {
void play();
}
interface Lisi{
void play();
}
interface Wangwu extends Zhangsan, Lisi{ //你敲成Zhangwu了。
Man man= new Man("good!");
}
class Man implements Wangwu{
private String name;
public String getName() {
return name;
}
public Man(String name) {
this.name = name;
}
public void play() {
Man newman = new Man("Football"); //你没有在man前面写Man。如果你是想访问父类接口Wangwu的man,貌似不行。
System.out.println(newman.getName());//结果是Football
System.out.println(this.getName());//结果是mainman
System.out.println(man.getName());//这样可以访问父类接口Wangwu的man,结果是good!
}
}