能在Java的静态方法中使用“ super”关键字吗?
静态方法或块属于该类,它们将与该类一起加载到内存中。您可以调用静态方法而无需创建对象。(使用类名作为参考)。
其中,Java中的“super”关键字用作对超类对象的引用。这意味着要使用“超级”方法,应由一个对象调用该方法,而静态方法则不是。
因此,不能通过静态方法使用“super”关键字。
示例
在下面的Java程序中,类ThisExample包含一个带有setter和getter方法以及实例方法display()的私有变量名称。从main方法(静态方法)中,我们尝试使用this关键字调用display()方法。
class SuperClass{
protected String name;
}
public class SubClass extends SuperClass {
private String name;
public static void setName(String name) {
super.name = name;
}
public void display() {
System.out.println("name: "+super.name);
}
public static void main(String args[]) {
new SubClass().display();
}
}编译时错误
SubClass.java:7: error: non-static variable super cannot be referenced from a static context super.name = name; ^ 1 error
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西