87,968
社区成员
发帖
与我相关
我的任务
分享
package strategyMode;
import strategyMode.imp.FlyWithWing;
public class Test {
/**
* 同包下的接口方法可以直接创建对象来调用而无需实现
* 但是main中调用fly()会报空指针异常,所以这个发现没有卵用。。
* 想要调用其子类的方法,还是得导入这个接口的子类并实例化
*/
// private FlyingStrategy flyingStrategy;
// public void fly(){
// flyingStrategy.performFly();
// }
private FlyingStrategy flyingStrategy = new FlyWithWing();
public void fly(){
flyingStrategy.performFly();
}
public static void main(String[] args) {
Test t = new Test();
t.fly();
}
}
所以楼主的那条语句是可以出现的,不会有编译错误。但不知道楼主具体是怎么调用的?