我对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定义变量的行旁边。在两种情况下,名称和年龄都带有下划线。
答案 0 :(得分:1)
此person1.name = "Matt";
(表达式语句)不能在类块中执行。
可以在类块中执行的唯一语句是声明语句:
Person person1;
//or
Person persion1 = new Person();
表达语句可以运行到方法块中。
如果要使用直接值实例化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;
}
}
现在您可以在类块中创建对象Person,如下所示:
Persone p1 = new Person("Batman", 30, "black", "bat");
我还建议您阅读以下文章:
答案 1 :(得分:0)
对象是在方法内部创建的,但是您尝试使它们成为类。我相信您想这样做:
public static void main(String [] args){
Person person1 = new Person();
Person person2 = new Person();
person1.name = "Matt";
person1.age = 26;
person2.name = "Julie";
person2.age = 25;
}