gpt4 book ai didi

java - 无法从子类访问方法

转载 作者:行者123 更新时间:2023-12-01 16:23:59 25 4
gpt4 key购买 nike

我只是尝试使用 SubClass 类中的 Method_In_SubClass() 方法,但收到这些错误。我尝试将 Method_In_SubClass 更改为 Static 但仍然收到错误

public class Sub {

//Method 1 : Non-Static
public void nonstatictest(){
System.out.println("This is non-Static method.");
}

//Mehod 2 : Static
public static void statictest(){
System.out.println("This is static method.");
}

//SubClass
public class SubClass{

//Method in SubClass
public void Method_In_SubClass(){
System.out.println("This is Method in SubClass");
}
}


public static void main(String args[]){
Sub SubObject = new Sub();
SubClass SubClassobject = new SubClass();
SubObject.nonstatictest();
statictest();
SubClassobject.Method_In_SubClass();

}
}

错误:

Sub.java:25: error: non-static variable this cannot be referenced from a static context
SubClass SubClassobject = new SubClass();
^
1 error

然后我将 Method_In_SubClass 更改为静态,但收到此错误

Error :Illegal static declaration in inner class Sub.SubClass
public static void Method_In_SubClass(){
^
modifier 'static' is only allowed in constant variable declarations
Sub.java:25: error: non-static variable this cannot be referenced from a static context
SubClass SubClassobject = new SubClass();

最佳答案

Main 和 SubClass 都是 Sub 类的成员,并且您不能引用 Sub 类的非静态成员,该成员是 Main 中的 SubClass(静态成员)。您需要将整个子类设为静态,而不仅仅是 Method_In_SubClass()。

关于java - 无法从子类访问方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62194946/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com