2013-03-16 118 views
0

如何調用方法在另一類與其他類,並把它傳遞給主類如何調用方法在其他類其他類並將它傳遞給主

我有一個看起來像這樣

Class1.java類
public class Class1{ 

    public void callMe() { 
     System.out.println("Menambah tabel mahasiswa"); 
    } 

} 

然後,我創建一個名爲Class2.java文件看起來像這樣

public class Class2 { 

    private Class1 class1; 

    //getset generated by netbeans, skipped 

    public void justCallMe(){ 
     class1.callMe(); 
    } 
} 

命名爲Class2另一個類,我想使用的Class2方法在主類名爲justCallMe(),看起來像這樣

Class2 classy = new Class2(); 
    classy.justCallMe(); 

,但它給我的錯誤「顯示java.lang.NullPointerException」 我認爲它通過錯誤傳遞方式從班會上課,主,因爲當我嘗試調用System.out.println("test");在Class2,它的工作

+0

哦,我的壞,錯過類型,從@Benjamin Gruenbaum糾正,讓我先嚐試 – PotterWare 2013-03-16 02:12:59

回答

2

你的代碼有幾個錯誤。

首先,

Class2 classy = new classy(); 

應該

Class2 classy = new Class2(); 

既然你創建Class2

其次所有的實例,在構造函數中,你需要初始化它Class1成員,所以在Class2裏面你需要一個構造函數來爲你做這件事

public Class2() { 
    class1 = new Class1(); 
} 

NullPointerException您收到可能是因爲您的真實代碼,你確實有Class2 classy = new Class2();但沒有初始化它class1成員

0

你的錯誤是在這裏:

Class2 classy = new **classy**(); 

它應該是:

Class2 classy = new **Class2**(); 

是的,也在class2內部初始化class1。

0

你應該首先「新」你的課程。

Private Class1 class1 = new Class1(); 
+0

嗨,我想知道你認爲你的答案在5分鐘前我的答案提供了什麼優勢嗎? – 2013-03-16 02:14:13

+0

由於在不需要時不會初始化類,因此您會更好。 – vvv214 2013-03-16 02:34:38

+0

礦是簡單的... – vvv214 2013-03-16 02:35:04

0

您的代碼包含許多錯誤。爲了更好地理解,請參閱以下源代碼。

首先,創建子類

class subclass { 
     //Create a method to be called .Here the name is used as Meth 

     public void Meth(){ 
     //Do some work here 
     } 

然後,創建包含main方法的超類。

class superclass { 
      public static void main(String ar[]){ 
      //Create an object of sub class 
      subclass subc = new subclass(); 
      //To call function to execute its task 
      subc.Meth(); 
} 

如果該子類在另一個包中,則導入該包的該類。

相關問題