我正在学习http://courses.caveofprogramming.com/courses/java-for-complete-beginners/lectures/38443
的java编程直到现在这个人在声明任何方法之前一直使用void
关键字但是一旦他到达方法部分中的传递参数,他就开始使用public
关键字而不是void关键字。为什么他开始使用public
代替void
?
我对这两个关键字都有一个模糊的理解,但如果你能向我解释这些关键字会更好。
答案 0 :(得分:3)
类似于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
的情况下,这意味着方法不会返回任何内容(方法只是做了一些事情,但我们不希望它在那之后给我们一些东西,比如{{1 }})。官方教程中的更多信息:https://docs.oracle.com/javase/tutorial/java/javaOO/returnvalue.html 答案 1 :(得分:1)
public :关键字public是一个访问修饰符,它告诉编译器您的方法可供任何人访问。你可以了解更多信息here
请参阅此答案以了解有关访问说明符的所有信息
In Java, difference between default, public, protected, and private
https://stackoverflow.com/a/1020776/5476209
void :关键字void是一个类型修饰符,表明该方法不返回任何值。就像你已声明任何不返回任何值的方法或任何你可以了解它的方法here
声明为public的变量和方法可以通过其他变量和方法访问
public int a; //this is public variable
public void noReturn()
{
//this is public method which does not return anything
}
现在返回值的方法
public int a=3;
public int returnA()
{
return a;
}
答案 2 :(得分:1)
关键字'public'和'void'表示方法的不同之处;它们与同一概念无关。
公共方法是可以从声明它的类外部调用的方法。还有其他名称 - 私人和受保护 - 意味着其他事物;例如,private指定一个只能在声明它的类中调用的方法。受保护和受包保护的名称略高一些,您可以将它们留待以后使用。
这些背后的想法是“信息隐藏”;类的接口由其公共成员定义; “隐藏”其他部分简化了该接口,使得更容易隐藏调用者的实现细节,从而可以扩展(和纠正)类,而不会破坏其他代码。
对于void,方法可以返回一个值,并且使用该方法声明返回值的类型。 void关键字表示该方法没有返回任何值。
因此,将一个方法声明为“public void methodName()”是很常见的,例如,表明它可以从它自己的类外部调用,并且它不返回值。“public Integer methodName( )'可以从类外部调用并返回一个Integer实例,依此类推。
public变量也可以在变量之前找到(尽管通常不经常),并且在类声明之前,具有相似的含义。 public,private和protected被称为“访问修饰符”,因为它们指定了可以访问类的受影响部分的位置。
答案 3 :(得分:1)
public
keyword是一个访问说明符,它指定如何访问一段代码。其他访问说明符:private
,protected
。
Access Specifiers
void
关键字是一种返回类型,它告诉方法在其完成时不会返回任何内容。
Return Types