线程“main”中的异常java.lang.Error:未解析的变量

时间:2014-02-09 20:38:43

标签: java methods error-handling compiler-errors linkageerror

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

我正在尝试创建一个简单的程序,创建人类的两个对象,给他们起名字,让第一个对象(“lisa”)成为第二个对象(“标记”),最后显示/打印在屏幕上显示丽莎的朋友。

但Eclipse显示以下错误:

  

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

正如您所知,我对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();

}

这是我的主要方法:

public static void main(String [] args){

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

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

    Object1.addFriend(lisa);

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

}

}

1 个答案:

答案 0 :(得分:1)

而不是

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

你应该写:

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

首先注意“lisa”周围的引号。如果没有这些引号,Java会将其解释为变量名而不是String(在类People的签名中需要) - 类People中的方法。在Java中,用小写字母编写像“Object1”这样的变量名是一种常见的约定 - 代码可读性。这里是信息the guidelines from Oracle