public class B extends A{
public int g(){
int x = super.x;
int y = super.getOne();
return x+y;
}
public static void main(String args[]){
System.out.println(g());
}
}
为什么我会收到错误(在打印行的左侧):
不能对类型B
中的非静态方法g()进行静态引用
答案 0 :(得分:0)
因为您无法在静态上下文中访问非静态方法 - 在本例中为main方法。
这将有效:
public static void main(String args[]){
B b = new B();
System.out.println(b.g());
}
您必须在该静态main方法中创建B类的实例,然后调用g()
;
答案 1 :(得分:0)
你不能直接调用这样的非静态方法,你必须从B类中创建一个对象,然后对该对象使用方法g()。