我有一段程序代码,作用就是引用传递。但出现了问题,请帮忙指教。、操作系统win7,Eclipse3.2,jdk1.6,代码如下:
class Person{
private String name;
private int age;
private Book book;
public Person(String name,int age){
this.setAge(age);
this.setName(name);
}
public void setName(String n){
name=n;
}
public String getName(){
return name;
}
public void setAge(int a){
age=a;
}
public int getAge(){
return age;
}
public void setBook(Book b){
book=b;
}
public Book getBook(){
return book;
}
}
class Book{
private String title;
private int price;
private Person person;
public Book(String title,int price){
this.setPrice(price);
this.setTitle(title);
}
public void setTitle(String t){
title=t;
}
public String getTitle(){
return title;
}
public void setPrice(int p){
price=p;
}
public double getPrice(){
return price;
}
public void setPerson(Person p){
person=p;
}
public Person getPerson(){
return person;
}
}
public class jcydy { /**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
Person per=new Person("hq",31);
Book bk=new Book("java",79);
per.setBook(bk);
//per.setBook(bk);
System.out.println("from person to book:"+per.getName()+"age is:"+per.getAge()+"book is :"+per.getBook().getTitle()+"book price is"+per.getBook().getPrice()); }}
===================================================
控制台提示:
构造方法
Exception in thread "main" java.lang.NoSuchMethodError: Person.setBook(LBook;)V
at jcydy.main(jcydy.java:68)
class Person{
private String name;
private int age;
private Book book;
public Person(String name,int age){
this.setAge(age);
this.setName(name);
}
public void setName(String n){
name=n;
}
public String getName(){
return name;
}
public void setAge(int a){
age=a;
}
public int getAge(){
return age;
}
public void setBook(Book b){
book=b;
}
public Book getBook(){
return book;
}
}
class Book{
private String title;
private int price;
private Person person;
public Book(String title,int price){
this.setPrice(price);
this.setTitle(title);
}
public void setTitle(String t){
title=t;
}
public String getTitle(){
return title;
}
public void setPrice(int p){
price=p;
}
public double getPrice(){
return price;
}
public void setPerson(Person p){
person=p;
}
public Person getPerson(){
return person;
}
}
public class jcydy { /**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
Person per=new Person("hq",31);
Book bk=new Book("java",79);
per.setBook(bk);
//per.setBook(bk);
System.out.println("from person to book:"+per.getName()+"age is:"+per.getAge()+"book is :"+per.getBook().getTitle()+"book price is"+per.getBook().getPrice()); }}
===================================================
控制台提示:
构造方法
Exception in thread "main" java.lang.NoSuchMethodError: Person.setBook(LBook;)V
at jcydy.main(jcydy.java:68)
from person to book:hq
age is:31
book is :java
book price is79.0