class Basics415 {
public static void main_hooo(){
out.println("1234");
}
void main_ho(){
}
}
在另一个名为Basics5.java的文件中:
public class Basics5 extends Basics415{
public static void main(){
main_hooo(); // We are accessing a public method of Class Basics415
main_ho(); // BUT WE CANNOT ACCESS A NON PUBLIC METHOD FROM SAME CLASS
}
}
为什么我们无法访问main_ho()
,而我们可以访问main_hooo()
?
为什么basic415.main_ho或Basic415.main_hooo在Basics5的主方法中不起作用?
答案 0 :(得分:5)
因为这些方法是静态的,因此需要类来访问它们。
Basics4.method_Inside_Basics4()
所以,在你编辑了一堆代码后......
public class Basics5 extends Basics415{
public static void main(){
// accessing a static method in a static context.
Basics415.main_hooo();
// accessing an instance method in a static context.
final Basics415 b = new Basics415();
b.main_ho();
}
}
答案 1 :(得分:1)
你的麻烦是主要类 Basics5 是一个静态方法,静态方法是在类级别而不是在实例级别定义的,那么你就不能在静态方法中使用方法不是静态的。
答案 2 :(得分:-1)
您应该将method_Inside_Basics4方法作为Basics4.method_Inside_Basics4()访问。由于Basics5类扩展了Basics415类,它继承了main_hooo方法,可以从Basics5中进行评估。