如何调用方法在其他类其他类并将它传递给主

如何调用方法在其他类其他类并将它传递给主

问题描述:

如何调用方法在另一类与其他类,并把它传递给主类如何调用方法在其他类其他类并将它传递给主

我有一个看起来像这样

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

你的代码有几个错误。

首先,

Class2 classy = new classy(); 

应该

Class2 classy = new Class2(); 

既然你创建Class2

其次所有的实例,在构造函数中,你需要初始化它Class1成员,所以在Class2里面你需要一个构造函数来为你做这件事

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

NullPointerException您收到可能是因为您的真实代码,你确实有Class2 classy = new Class2();但没有初始化它class1成员

你的错误是在这里:

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

它应该是:

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

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

你应该首先“新”你的课程。

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

您的代码包含许多错误。为了更好地理解,请参阅以下源代码。

首先,创建子类

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(); 
} 

如果该子类在另一个包中,则导入该包的该类。