我对 Java 和 OOP 相当陌生,显然我在定义对象的成员变量时遇到了一些困难。它们用红色下划线表示,我不明白为什么会发生错误。我正在使用 Eclipse 2019 IDE。
我查看了其他一些问题并尝试搜索一些在线教程,但尚未找到解决方案。我相当确定这不是语法问题,而是我不知道的 IDE 的问题?
public class Main {
class Person{
String name;
int age;
String hairColour;
String gender;
}
Person person1 = new Person();
Person person2 = new Person();
person1.name = "Matt";
person1.age = 26;
person2.name = "Julie";
person2.age = 25;
}
错误出现在我为 person1 和 person2 定义变量的行旁边...在这两种情况下,姓名和年龄都带有下划线。
最佳答案
此person1.name = "Matt";
(表达式语句)无法在类 block 中执行。
唯一可以在类 block 中执行的语句是声明语句:
Person person1;
//or
Person persion1 = new Person();
表达式语句可以运行到方法 block 中。
如果您想使用直接值实例化 Person
对象,您可以在 Person
类中创建参数化构造函数:
class Person{
String name;
int age;
String hairColour;
String gender;
public Person(String name, int age, String hairColour, String gender){
this.name = name;
this.age = age;
this.hairColour = hairColour;
this.gender = gender;
}
}
现在您可以在类 block 中创建一个对象 Person ,如下所示:
Person p1 = new Person(" bat 侠", 30, "黑", " bat ");
我还建议阅读这篇文章:
关于java - 我的成员变量在 Eclipse 中用红色下划线表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56614457/