2017-08-20 65 views
-1

首先,我會提到我是一名初學者程序員並試圖學習。 總之我的問題是這樣的:我有3個班(主,作者,書)如何在Java的另一個類中使用類參數

public static void main(String[] args) { 
    Author a=new Author(); 
    Book b=new Book(); 
    //creating author 
    a.setName("Paulo Coelho", "[email protected]"); 
    System.out.println("Author : " + a.getName() + "\ne-mail: "+ a.getEmail()); 
    //creating book 
    b.setName("Alchimist"); 
    b.setYear(2010); 
    b.setPrice(15.7); 

} 
public class Author { 
    public static String name; 
    public static String email; 
    public static void setName(String n, String e){ 
     name=n; 
     email=e; 
    } 
    public String getName(){ 
     return name; 
    } 
    public String getEmail(){ 
     return email; 
    } 


public class Book { 
    String name; 
    int year; 
    double price; 
    Author a; 


    public void setName(String b){ 
     name=b; 
    } 
    public void setYear(int y){ 
     year=y; 
    } 
    public void setPrice(double p){ 
     price=p; 
    } 

    public String getName(){ 
     return name; 
    } 
    public int getYear(){ 
     return year; 
    } 
    public double getPrice(){ 
     return price; 
    } 
    public String getBookDetails(){ 
     ????????????? 
    } 
} 

怎樣才能讓作者和書之間的連接,從而當我設置它們鏈接到這本書的細節第一次創建作者和 當我打印我的getDetails我得到正確的書的細節?

+0

歡迎來到堆棧溢出!請參考[遊覽](/遊覽),環顧四周,並通讀[幫助中心](/ help) ,特別是[我如何提出一個好問題?](/ help/how-to - 問題)和[我可以在這裏詢問什麼主題?](/ help/on-topic)。 –

+0

創建set方法來設置Book類中的作者詳細信息。 – nagendra547

回答

0

您的Book課程已有財產Author a;

您需要在Book類中添加一個引領者的authos,這樣就可以從你的main方法對其進行設置:

// in Book class 
public void setAuthor(Author author){ 
     this.a = author; 
} 

// in main: 
b.setAuthor(a); 
b.setName("Alchimist"); 

後,您可以訪問的屬性指定的作者在您的方法getBookDetails()中。


BTW

在Java的標識符名稱的名稱的長度幾乎是無限的。對於長標識符名稱沒有任何懲罰。所以在選擇名字時不要小心字母。例如。在你的例子中使用總是author而不是abook而不是b。這將使您的生活從長遠來看更容易...

相關問題