【发布时间】:2017-04-08 17:53:39
【问题描述】:
我只是想用不同的访问说明符在 Java 类的 main 方法中声明字段。但是我不能将带有访问说明符的字段声明为公共的,这有什么原因吗?
【问题讨论】:
-
首先想一想——你为什么要这样做,你会达到什么目的?由于您知道方法的局部变量仅在同一方法中可见,即使您可以命名
public或类似名称,它对变量和您的程序有什么影响?答:没有,所以 Java 不允许你这样做。
标签: java
我只是想用不同的访问说明符在 Java 类的 main 方法中声明字段。但是我不能将带有访问说明符的字段声明为公共的,这有什么原因吗?
【问题讨论】:
public 或类似名称,它对变量和您的程序有什么影响?答:没有,所以 Java 不允许你这样做。
标签: java
您不能为局部变量声明访问说明符,因为这些变量的生命周期是局部的,例如对于 main 方法,在内部声明的任何变量只能在 main 方法内部访问。从 tutorialspoint 中查看有关局部变量的资源:
【讨论】:
访问说明符用于fields 中的class。您使用访问说明符来定义如何从外部访问此字段。但是方法中声明的变量是local variables。这些局部变量不能在此方法块之外访问。所以没有理由为它们使用访问说明符。
【讨论】:
您不能在方法内定义公共元素。该元素在方法执行时存在,并且无法在该 main 方法之外访问。
【讨论】:
方法中的字段是方法的本地字段,因此没有访问修饰符。
访问修饰符应用于类级别,即
public class Person {
private String name
public String getName() {
return this.name
}
}
【讨论】:
局部变量不能公开。 public、private、proctacted 仅用于类级别成员。
假设如果可以这样做,那么您如何从方法或类中访问它。 所以在 locel 成员之前指定范围是没有任何意义的。
【讨论】:
在方法中声明的变量(又名局部变量)只能在方法中访问。方法返回后,方法中的所有局部变量都变得不可访问。您可以将所有局部变量视为private。
那为什么会这样呢?
局部变量的目的是在方法执行期间临时存储数据。众所周知,一个方法要么做某事,要么返回某事,或两者兼而有之。当一个方法在做这项工作时,可能会创建对象来帮助该方法正在做的任何事情。并且对象存储在变量中。由于这些变量仅帮助方法完成其工作,因此在方法完成其工作(返回)后不需要它们。
看到了吗?它们是暂时的。从另一个范围访问它们是没有意义的。
【讨论】: