【问题标题】:Difference between "public" and "void" [duplicate]“公共”和“无效”之间的区别[重复]
【发布时间】:2016-11-11 23:39:30
【问题描述】:

我正在向http://courses.caveofprogramming.com/courses/java-for-complete-beginners/lectures/38443学习java编程

这家伙,直到现在在声明任何方法之前一直使用 void 关键字,但是一旦他到达 在方法中传递参数 部分,他就开始使用 public 关键字而不是无效关键字。为什么他开始使用public而不是void?

我对这两个关键字的理解很模糊,但如果你也能向我解释这些关键字会更好。

【问题讨论】:

  • 只需在互联网中搜索java void 和java public。 Google 是您的朋友。
  • 请阅读重复的问题(评论中的链接)并注意“默认”意味着没有指定其他访问修饰符,如void myMethod() {...}。 public 和 void 是完全不同的东西,您会感到困惑,因为那里的那个人通过省略访问修饰符来使用“默认”(这就是该方法以 void 而不是 public 开头的原因)。
  • public 是一个访问说明符,这意味着该方法可以从任何地方访问,void 只是一个类型
  • 不可能使用public 代替 void。 public 是访问说明符。 void 是返回类型,或者更具体地说是缺少返回类型。

标签: java


【解决方案1】:

small 和 blue 之间的区别类似。这两个词可以一起使用,但它们不能描述相同的属性。

  • public 是 access modifier - 它描述了在哪里或谁可以使用/访问这部分代码。 public 表示这段代码可以在 Java 应用程序中的任何地方使用。顺便说一句,它不仅适用于方法。您还可以为类型(类、枚举、接口)和类字段指定访问类型(但您不能将它们用于局部变量,这没有意义,因为它们的范围仅限于它们所使用的代码块无论如何声明)
  • void 代表方法返回类型 - 比如sum(int a, int b) 应该可能返回一些我们可能想在某处使用的值,所以我们需要指定它将返回的值的类型以使编译器生命更轻松。对于sum(int a, int b),我们可以简单地将其设置为也返回int,如int sum(int a, int b)。
    在void 的情况下,它意味着方法不返回任何东西(方法只是做了一些事情,但我们不希望它在此之后给我们一些反馈,例如void turnOffTheLights())。官方教程中的更多信息:https://docs.oracle.com/javase/tutorial/java/javaOO/returnvalue.html

【讨论】:

    【解决方案2】:

    关键字“public”和“void”表示方法的不同内容;它们与同一个概念无关。

    公共方法是一种可以从声明它的类外部调用的方法。还有其他名称——私有的和受保护的——意味着其他的东西。例如,private 指定一个只能在声明它的类中调用的方法。 protected 和 package protected 名称稍微高级一些,您可以留待以后使用。

    这些背后的想法是“信息隐藏”;类的接口由其公共成员定义; “隐藏”其他部分简化了接口,更容易向调用者隐藏实现细节,从而可以扩展(和更正)类,减少破坏其他代码的机会。

    至于void,方法可能会返回一个值,返回值的类型是用方法声明的。 void 关键字表示该方法不返回任何值。

    因此,将方法声明为“public void methodName()”是很常见的,例如,表明它可以从自己的类外部调用,并且它不返回值。“public Integer methodName( )' 可以从类外部调用并返回一个 Integer 实例,依此类推。

    public 关键字也出现在变量之前(虽然希望不经常出现),并且在类声明之前,具有相似的含义。 public、private 和 protected 被称为“访问修饰符”,因为它们指定了可以从何处访问类的受影响部分。

    【讨论】:

      【解决方案3】:

      public:关键字public是一个访问修饰符,它告诉编译器你的方法可以被任何人访问。你可以了解更多here

      查看此答案以了解有关访问说明符的所有信息

      In Java, difference between default, public, protected, and private

      https://stackoverflow.com/a/1020776/5476209

      void :关键字 void 是一个类型修饰符,表示该方法不返回任何值。就像您声明了任何不返回任何值的方法或您可以了解的任何内容here

      声明为公共的变量和方法可以被其他变量和方法访问

      public int a;   //this is public variable
      
      public void noReturn()
      {
          //this is public method which does not return anything
      }
      

      返回值的now方法,

       public int a=3;
       public int returnA()
       {
         return a;
       }
      

      【讨论】:

        【解决方案4】:

        public 关键字是访问说明符,它指定如何访问一段代码。其他访问说明符:private、protected。 Access Specifiers

        void 关键字是一个返回类型,它告诉一个方法在完成时不会返回任何东西。 Return Types

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-11-21
          • 2012-05-22
          • 2014-08-22
          • 2012-06-25
          • 1970-01-01
          • 2014-08-16
          • 2011-04-08
          • 2012-11-24
          相关资源
          最近更新 更多