错误 获取error-:非静态变量这不能从静态上下文引用我该怎么做才能解析这段代码
class Testy {
void girl()
{
System.out.println("Black girl");
}
class Testy1 extends Testy
{
void girl()
{
System.out.println("White girl");
}
}
public static void main(String[] args) {
Testy p=new Testy1 ();
p.girl();
}
}
答案 0 :(得分:0)
这是正确的代码。
将Testy1类设为静态,因为它是内部类。
class Testy {
void girl()
{
System.out.println("Black girl");
}
static class Testy1 extends Testy
{
void girl()
{
System.out.println("White girl");
}
}
public static void main(String[] args) {
Testy p=new Testy1();
p.girl();
}
}
答案 1 :(得分:0)
如果你想使用内部类,那么你必须按如下方式调用函数
class Testy {
void girl()
{
System.out.println("Black girl");
}
class Testy1 extends Testy
{
void girl()
{
System.out.println("White girl");
}
}
public static void main(String[] args) {
Testy t = new Testy(); // first create object of outer class
Testy.Testy1 t1 = t.new Testy1(); //using t create object of inner class
t1.girl();
}
}