2013-11-22 74 views
-1

我知道C++在一個體面的水平,我想學習Java。這將是一個愚蠢的問題,但我不知道如何將.java文件導入到另一個。我在Eclipse IDE中,在我的項目,我有兩個文件:在Java中管理文件

FileReader.java

Entry.java

我想導入的Entry.java中的其他文件,但無論我做什麼我收到一個錯誤。你可以幫我嗎? Thx提前。

FileReader.java:

import java.io.*; 

    class FileReader { 
      public static void main(String[] args) throws Exception { 

       System.out.println("Hello, World"); 
       Entry a(10,"a title","a description"); 
       a.print(); 

      } 
     } 

Entry.java:

public class Entry{ 
    int ID; 
    String title; 
    String description; 


    public Entry(int id, String t,String d){ 
     ID=id; 
     title=t; 
     description=d; 

    } 

    public void print(){ 
     System.out.println("ID:"+ID); 
     System.out.println("Title:"+title); 
     System.out.println("Description:"+description); 
    } 
} 

在這種狀態下,我得到一個錯誤項不能被解析爲一個變量。所以我相信這與進口有關。

+0

它們是否在同一個包中? – Sionnach733

+0

'Entry a(10,「title」,「a description」);'不是有效的Java。如果它們在同一個包(即相同的目錄)中,則該類應該被自動找到。 – Amadan

+0

將entry.java複製到位於工作區的項目的src文件夾中,然後刷新eclipse,當它顯示時,只需單擊代碼行附近的錯誤標記並選擇「導入」 –

回答

3

首先

Entry a(10,"a title","a description"); 

應該

Entry a = new Entry (10,"a title","a description"); 

如果Entry是在同一個包,那麼你就不需要將其導入。

如果Entry是在不同的包,說com.example那麼你需要做

要麼

import com.example.Entry; 

import com.example.*; 

第二進口將導入在COM的所有類.example包 - 通常不是這樣的好東西。

+0

Thx我在想它會像C++一樣工作,問題會在其他地方。該軟件包是爲了在這裏的項目,或者我錯了? – JmRag

+0

@Mario:Eclipse可以很有幫助。如果您錯過了進口產品,只需將鼠標懸停在錯誤上,它應該會提供將最有可能的產品包添加到您的進口產品中,大多數情況下都是正確的。在實現接口時也很方便:只需將接口名稱添加到''''''''''列表中,將鼠標懸停在錯誤上並選擇定義缺少的方法,而不是手動輸入所有方法定義。 – DarthJDG

1

在Eclipse中,您可以按Ctrl + Shift + O來解析所有導入。

3

你需要new進入

new關鍵字創建新的對象

Entry a = new Entry(10,"a title","a description") 
a.print(); 

Entry對象與a參考上述實例創建。

對於問題的導入部分,如果兩個文件在同一個包中,則不需要導入。如果您Entry類是在不同的包比你FileReader類,那麼你就需要import mypackage.Entry

2

嘗試

Entry a = new Entry(/*args*/); 

如果你需要導入類,然後使用絕對名稱(包+級),並把它import後的類聲明上述

import com.example.you.Entry;