为了账号安全,请及时绑定邮箱和手机立即绑定

java中interface中定义方法,标准的调用方式

java中interface中定义方法,标准的调用方式

九州编程 2019-03-20 17:15:05
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,求大神指点
查看完整描述

4 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

你只是声明一个名为iTest的变量, 并未给其实例化, 在JAVA语言中通常是用NEW这个关键字来实例化一个对象的.


把你上面的代码修改成如下的:


package com;


public class Test2 {


    public static void main(String[] args) {

        // TODO Auto-generated method stub

        ITest tmp = new Test1();

        tmp.test();

    }

}


查看完整回答
反对 回复 2019-04-20
?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

itest是个静态变量,没有初始化,为null,不能调用它的方法。要先初始化。


查看完整回答
反对 回复 2019-04-20
?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

这里改成这样private static ITest iTest= new Test1()


查看完整回答
反对 回复 2019-04-20
?
慕村9548890

TA贡献1884条经验 获得超4个赞

因为你没有new


查看完整回答
反对 回复 2019-04-20
  • 4 回答
  • 0 关注
  • 1874 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信