我是Java的初学者,我在Eclipse中键入了这个代码块,它会抛出这样的错误。我还没有开始任何事情,但我的变量名称出现了错误?我知道Eclipse非常特别关于可能在同一个包中的重复变量名称。这可能是问题所在吗?
谢谢!
答案 0 :(得分:2)
您需要在main
方法之外声明这些变量(如果您希望它们具有类范围),或者如果您希望它们具有方法范围,则删除private
关键字,即仅在你的主要方法。
所以要么:
public class Person {
private String name;
// other variables...
public static void main(String[] arguments) {
// other code...
}
}
或者像这样:
public class Person {
public static void main(String[] arguments) {
String name;
// other variables and code...
}
}
答案 1 :(得分:2)
您不能在任何方法中使用访问修饰符private
。在变量名称前删除访问修饰符private
。
或者您可以在类级别(即实例变量)中声明这些变量 - 在任何方法之外。由于name
是Person
的属性/属性,根据OOP
,最好将名称保留为Person
类的字段,如下所示 -
public class Person{
private String name;
//Other property of Person
public String getName(){
return name;
}
public String setName(String name){
this.name = name;
}
public static void main(String[] args){
}
}
使用public getter和setter方法从Person
类的外部访问这些私有变量。
答案 2 :(得分:1)
要么这样做:
public class Person {
private String name; // Declared as an attribute of Person class
public static void main(String [] args) { ...}
}
或者这个:
public class Person {
public static void main(String [] args) {
String name; // No private
// ...
}
}
答案 3 :(得分:0)
只需在两个变量中删除访问修饰符private.Your problem
将被解决。您无法在方法中声明私有变量。