繁体   English   中英

公开或不公开方法有什么区别?

[英]What is the difference of declaring a method public or not?

我想知道是否将该方法声明为public或不声明为那样是否有任何区别:

    public class food {

       void eat(){
        System.out.println("This food is great");
    }
}



public class food {

      public void eat(){
        System.out.println("This food is great");
    }
}

它有任何重要价值吗?

成员函数默认为包私有。 请参阅: 访问修饰符 一个关键的区别(虽然以一个初学者,公共和包私人之间的区别可能不会立即明显)。 在任何OO编程语言中,了解访问修饰符都是至关重要的。

从Java文档( http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html

如果类没有修饰符(默认值,也称为package-private),则仅在其自己的包中可见(包被命名为相关类的组...)

我相信,如果您明确声明,则称为package

可以使用四个不同的访问级别之一声明Java方法: publicprotecteddefault (即,没有显式访问级别,也称为package-private )和private

任何对象都可以调用public方法,而package-private方法只能由与接收对象的类在同一中定义的类的实例调用。

公共 -随处可见的任何人

默认值(无修饰符) -仅在包中和此类中


您可以使用来自另一个类/子类(子类)/另一个包/模块(如果存在依赖项)的带有公共修饰符的方法

否则, 默认情况下 -您只能从此类(在内部调用)和另一个包中调用此方法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM