Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么可以';我们不能在java文件中访问非公共类的方法吗?_Java_Class_Methods - Fatal编程技术网

为什么可以';我们不能在java文件中访问非公共类的方法吗?

为什么可以';我们不能在java文件中访问非公共类的方法吗?,java,class,methods,Java,Class,Methods,在另一个名为Basics5.java的文件中: class Basics415 { public static void main_hooo(){ out.println("1234"); } void main_ho(){ } } 为什么我们不能访问main\u hoo(),而我们可以访问main\u hoo() 为什么basic415.main\u ho或basic415.main\u hoo在Basics5的

在另一个名为Basics5.java的文件中:

class Basics415 {   

    public static void main_hooo(){
        out.println("1234");    
    }

    void main_ho(){
    }       
}
为什么我们不能访问
main\u hoo()
,而我们可以访问
main\u hoo()


为什么basic415.main\u ho或basic415.main\u hoo在Basics5的主方法中不起作用?

您应该将Basics4.method\u inside\u Basics4方法作为Basics4.method\u inside\u Basics4()访问。由于Basics5类扩展了Basics415类,它继承了main_hooo方法,可以从Basics5中评估该方法。

您应该以Basics4.method_Inside_Basics4()的形式访问方法_Inside_Basics4方法。由于Basics5类扩展了Basics415类,因此它继承了main_hoo方法,可以从Basics5中评估该方法。

因为这些方法是静态的,因此需要类来访问它们

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 
    }       
}
所以,在你编辑了一堆代码之后

Basics4.method_Inside_Basics4()

因为方法是静态的,因此需要类来访问它们

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 
    }       
}
所以,在你编辑了一堆代码之后

Basics4.method_Inside_Basics4()


您的问题是类Basics5main方法是一个静态方法,静态方法是在类级别定义的,而不是在实例级别定义的,那么您不能在静态方法中使用非静态方法。

您的问题是类Basics5main方法是一个静态方法,静态方法是在类级别而不是实例级别定义的,因此您不能在静态方法中使用method not static。

请花更多的时间格式化您的帖子-它现在有大量的空白,没有任何原因。另外,使用空格而不是制表符。如果你能发布一个完整的例子,这将非常有帮助。什么是
基础1
?如果不相关,请将其从
Basics415
中删除。
classe在哪里可以成为\u Only\u Public\u或\u Abstract\u或\u final
呢?另外,Basics4中对
method\u的调用不会编译,因为您还没有声明它。现在这个问题一团糟。现在,问题更清楚了。。。现在,Siva,当你发布一个问题时,建议只发布相关的代码和错误消息(编译错误-在你的情况下)。请花更多的时间格式化你的帖子-它有大量的空白,目前没有任何理由。另外,使用空格而不是制表符。如果你能发布一个完整的例子,这将非常有帮助。什么是
基础1
?如果不相关,请将其从
Basics415
中删除。
classe在哪里可以成为\u Only\u Public\u或\u Abstract\u或\u final
呢?另外,Basics4
中对
method\u的调用不会编译,因为您还没有声明它。现在这个问题一团糟。现在,问题更清楚了。。。现在,Siva,当你发布一个问题时,建议只发布相关的代码和错误消息(编译错误-在你的例子中)。好吧,为什么basic415.main_ho或basic415.main_hoo在Basics5的main方法中不起作用?
main_ho
是一个实例方法。你知道区别吗?不知道。实例方法是什么意思?两者之间的区别是什么?那么其他类型的方法是什么呢?有绑定到类实例的实例方法(
newbasics4()
)和属于类本身的静态方法(
Basics4.method\u Inside\u Basics4()
)。这是java的基本基础和它对OOP的一部分。Okaym为什么Basic 415 Main SoHo或Basic 415Main HyoOO不在Basic 5的主要方法里面?<代码> Main SyoHy/Cuth>是一个实例方法。你知道区别吗?不知道。实例方法是什么意思?两者之间的区别是什么?那么其他类型的方法是什么呢?有绑定到类实例的实例方法(
newbasics4()
)和属于类本身的静态方法(
Basics4.method\u Inside\u Basics4()
)。这是java的基本基础和面向对象编程的方法的一部分。