Java中的“public static void”是啥意思?
Posted
技术标签:
【中文标题】Java中的“public static void”是啥意思?【英文标题】:What does 'public static void' mean in Java?Java中的“public static void”是什么意思? 【发布时间】:2011-01-24 07:22:09 【问题描述】:public static void
在 Java 中是什么意思?
我正在学习中。在本书的所有示例中,我使用public static void
工作的所有示例都出现在任何正在使用或创建的方法之前。这是什么意思?
【问题讨论】:
【参考方案1】:这是三个完全不同的东西:
public
表示该方法是可见的,可以从其他类型的其他对象调用。其他选择是private
、protected
、package
和package-private
。详情请见here。
static
表示该方法与该类相关联,而不是该类的特定实例(对象)。这意味着您可以在不创建类的对象的情况下调用静态方法。
void
表示该方法没有返回值。如果该方法返回 int
,您将编写 int
而不是 void
。
这三者的组合最常见于大多数教程将包含的main
方法。
【讨论】:
既然提问者还在学习中:这些关键词的顺序也很重要。首先是所有修饰符(public
、static
、private
等),然后是返回类型(在这种情况下为 void
)。
@markbyres 好的,我明白你的回答,我知道主要方法必须是静态的,但我不知道为什么它是公开的??有什么具体原因吗??
java运行环境必须调用main方法来启动你的应用程序。当它是私有的时,它不能这样做。【参考方案2】:
这意味着三件事。
第一个public
表示任何其他对象都可以访问它。
static
表示在调用函数之前不必先实例化它所在的类。
void
表示函数不返回值。
由于您只是在学习,所以在您了解类之前不要太担心前两个,而在您开始编写函数(除了 main 之外)之前,第三个并不重要。
我在学习编程时得到的最好的建议,我也传给你了,那就是不要担心你不马上理解的小细节。获得基本面的广泛概述,然后返回并担心细节。原因是你必须在你的第一个程序中使用一些东西(比如public static void
),如果不先教你一堆其他东西,就无法很好地解释这些东西。所以,就目前而言,接受这就是它的完成方式,然后继续前进。您很快就会理解它们。
【讨论】:
【参考方案3】:Public
- 表示该类(程序)可供任何其他类使用。
Static
- 创建一个类。也可以应用于变量和方法,使它们成为类方法/变量,而不仅仅是类的特定实例的局部变量。
Void
- 这意味着当类完成处理时不会返回任何产品。将此与向主类提供返回值的辅助类进行比较,它们的操作类似于函数;这些在声明中没有 void。
【讨论】:
【参考方案4】:意思是:
public
- 可以从任何地方调用
static
- 它没有任何对象状态,因此您可以在不实例化对象的情况下调用它
void
- 它不返回任何东西
你会认为没有返回意味着它没有做太多事情,但它可能会在数据库中保存一些东西,例如。
【讨论】:
【参考方案5】:static
表示该方法与该类相关联,而不是该类的特定实例(对象)。这意味着您可以在不创建类的对象的情况下调用静态方法。
由于使用static
关键字main()
是您要调用的第一个方法。
static
不需要任何对象来实例化...
所以,main( )
在创建任何对象之前由 Java 解释器调用。
【讨论】:
【参考方案6】:考虑典型的***类。只能在顶层使用 public 和无修饰符访问修饰符,因此您将看到 public 或根本看不到任何访问修饰符。
使用`static` 是因为您可能不需要在顶层创建实际对象 (但有时您会希望这样做,因此您可能并不总是看到/使用静态。还有其他原因导致您也不会包含静态,但这是顶层的典型原因。)
void
被使用是因为通常你不会从顶层(类)返回值。 (有时您可能希望返回 NULL
以外的值,因此 void 可能并不总是被使用,尤其是在您已声明、初始化您正在为其分配某个值的***对象的情况下)。
免责声明: 我自己是新手,所以如果这个答案有任何错误,请不要挂我。白天,我是一名技术招聘人员,而不是开发人员;编码是我的爱好。另外,我总是乐于接受建设性的批评并热爱学习,因此请随时指出任何错误。
【讨论】:
【参考方案7】:public 关键字是访问说明符,它允许程序员控制类成员的可见性。当类成员前面有 public 时,该成员可以被声明它的类之外的代码访问。 (public 的反义词是 private,它防止成员被定义在其类之外的代码使用。)
在这种情况下,main( )
必须声明为 public,因为它必须在程序启动时由其类之外的代码调用。
关键字static 允许调用main( )
而无需实例化类的特定实例。这是必要的,因为在创建任何对象之前,Java 解释器会调用 main( )
。
关键字void 只是告诉编译器main( )
不返回值。正如您将看到的,方法也可能返回值。
【讨论】:
【参考方案8】:public
表示您可以从类/对象中或包或类外部的任何位置访问该类
static
表示常量,其中语句块只使用了 1 次
void
表示没有返回类型
【讨论】:
这个问题已经被充分覆盖,也许尝试回答新问题,而不是用重复信息回答旧问题。谢谢。 这就像解释大象一样。人们试图根据他的立场来解释它。我对以上所有答案都很满意,但只是想知道有人怎么能说“买一本书一个 java”。【参考方案9】:这三个词有正交的意思。
public
表示该方法将在其他包中的类中可见。
static
表示该方法未附加到特定实例,并且它没有“this
”。它或多或少是一个函数。
void
是返回类型。意思是“这个方法什么都不返回”。
【讨论】:
以上是关于Java中的“public static void”是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章
漫话:为什么Java中的main方法必须是public static void的?
在java中public void与public static void区别
为什么Java的main方法必须是public static void?
为什么 main 方法是 public static void ?
public static void main(String[] args) 和 public static void main(String args[]) 的区别? [复制]