0

线程“main”java.lang.Error 中的异常:为什么我的参数变量不能解析为变量?

我正在尝试创建一个简单的程序,该程序创建人员类的两个对象,为它们命名并使第一个对象(“lisa”)成为第二个对象(“mark”)的朋友,最后显示/打印出 lisa 的朋友在屏幕上。

但是 Eclipse 显示以下错误:

线程“main” java.lang.Error 中的异常:未解决的编译问题:lisa 无法解析为变量 标记无法解析为变量 lisa 无法解析为变量 语法错误,插入“;” 完成语句 People.main(People.java:22) 的 People 类型的方法friend() 未定义

如您所知,我对 Java 很陌生,所以我无法理解错误的含义以及如何修复它。非常感谢您的帮助!

这是我的人物课:

公共类人{

//Constructor
public void name(String name) {
    this.name = name;
}


// Instance variables
public String name; 
public String friend;

// Instance method
public void addFriend(String name){
name = Object1.friend();

}

这是我的主要方法:

公共静态无效主要(字符串[]参数){

    People Object1 = new People();
    Object1.name(lisa);

    People Object2 = new People();
    Object2.name(mark);

    Object1.addFriend(lisa);

    System.out.println(Object1.friend());

}

}

4

1 回答 1

2

代替

People Object1 = new People();
Object1.name(lisa);

你应该写:

People people = new People();
people.name("lisa");

首先注意“lisa”周围的引号。如果没有这些引号,Java 会将其解释为变量名而不是字符串(正如 People 类中 name() 方法的签名所要求的那样。Java 中的常见约定是用小写字母编写变量名,如“Object1” -代码可读性。这里作为信息来自 Oracle 的指南

于 2014-02-09T20:52:59.450 回答