0

如何将另一个类中的方法调用到另一个类并将其传递给主类

我有看起来像这样的 Class1.java 类

public class Class1{

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

}

Class2然后我在一个名为的文件中创建另一个类Class2.java,如下所示

public class Class2 {

    private Class1 class1;

    //getset generated by netbeans, skipped

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

我想使用justCallMe()在主类中命名的 class2 方法,看起来像这样

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

但它给了我错误“java.lang.NullPointerException”我认为这是由于从类到类和到主的错误传递方法引起的,当我尝试调用时System.out.println("test");中Class2,它起作用了

4

3 回答 3

2

您的代码有几处问题。

首先,

Class2 classy = new classy();

应该

Class2 classy = new Class2();

由于您正在创建一个实例Class2

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

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

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

于 2013-03-16T02:07:51.597 回答
0

您应该首先“新建”您的课程。

Private Class1 class1 = new Class1();
于 2013-03-16T02:13:26.630 回答
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();
}

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

于 2013-03-16T14:23:50.323 回答