package com;
public interface ITest {
public void test();
}
===========================================
package com;
public class Test1 implements ITest {
@Override
public void test() {
// TODO Auto-generated method stub
System.out.println("调用成功");
}
}
======================================
package com;
public class Test2 {
private static ITest iTest;
public static void main(String[] args) {
// TODO Auto-generated method stub
iTest.test();
}
public ITest getiTest() {
return iTest;
}
public void setiTest(ITest iTest) {
this.iTest = iTest;
}
}
为什么返回值为null???第一次用sf,求大神指点
iTest という名前の変数を宣言しただけで、インスタンス化していません。JAVA 言語では、通常、オブジェクトのインスタンス化に NEW キーワードが使用されます。
上記のコードを次のように変更します。
リーリーitest は初期化されていないため、メソッドを呼び出すことができません。最初に初期化する必要があります。
ここを private static ITest iTest= new Test1() に変更します
新しいものがないからです