声明方法公开与否的区别是什么?

时间:2014-07-08 15:10:38

标签: java methods declaration 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");
    }
}

它对它有任何重要价值吗?

4 个答案:

答案 0 :(得分:0)

默认情况下,成员函数是package-private。见:access modifiers 是一个至关重要的区别(虽然对初学者来说,公共和私人包装之间的区别可能不会立即显而易见)。理解访问修饰符对任何OO编程语言都至关重要。

答案 1 :(得分:0)

来自java docs(http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html

  

如果一个类没有修饰符(默认值,也称为包私有),      它只在自己的包中可见(包被命名为      相关课程......)

如果您明确说明,我认为这称为package

答案 2 :(得分:0)

可以使用四种不同的access levels之一声明Java方法:publicprotecteddefault(即没有明确的访问级别,也称为{{1} })和package-private

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

答案 3 :(得分:0)

公众 - 任何人,无处不在。

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

<小时/> 您可以从另一个类/子类(子类)/另一个包/模块(如果存在依赖项)中使用 public 修饰符调用方法

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