如何调用方法在其他类其他类并将它传递给主
问题描述:
如何调用方法在另一类与其他类,并把它传递给主类如何调用方法在其他类其他类并将它传递给主
我有一个看起来像这样
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
,它的工作
答
你的代码有几个错误。
首先,
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。
答
您的代码包含许多错误。为了更好地理解,请参阅以下源代码。
首先,创建子类
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();
}
如果该子类在另一个包中,则导入该包的该类。
哦,我的坏,错过类型,从@Benjamin Gruenbaum纠正,让我先尝试 – PotterWare 2013-03-16 02:12:59