问一个JAVA的小问题

public class Person{
String name;
}
public class Sub extends Person{
public void Sub(){
System.out.println(name);
}
}
在myeclipse 中 上面有一个黄色的小警告 public void Sub(){ 在这一行 出的 this method has a constructor name
这是什么意思 我只是为了试试 子类 能不能调用父类的成员变量
去掉了 void
然后 写了一个main方法
public class PersonTest {
public static void main(String[] args){
Person p = new Sub();
}
}

这里 Person p = new Sub();
又出现一个黄色警告 The local variable p is never read 这又是什么意思

第1个回答  2010-08-04
1. 那个警告 你去除 void就可
2. 子类可以用父类的成员变量 super.name,不过在Person中需要定义name为 public String name;

public很重要
第2个回答  2010-08-04
把Sub()这个改一下名字吧!譬如sub()或者其他乱七八糟的都行。
第3个回答  2010-08-04
构造方法写返回值类型。。。去掉void
第4个回答  2010-08-04
有没有可能在Sub Class中也要宣告一个String name来决定override或是overload??
第5个回答  2010-08-04
又出现一个黄色警告 The local variable p is never read 这又是什么意思

这个变量后面没有使用过
相似回答