读书人

java的语法有关问题 极其简单 马下结贴

发布时间: 2012-11-03 10:57:44 作者: rapoo

java的语法问题 极其简单 马上结贴!
大家好! 小弟原来是c++、c#开发 现在有个java问题看不太懂代码如下:

Java code
    private ServiceConnection serConn = new ServiceConnection() {        @Override        public void onServiceConnected(ComponentName name, IBinder service)        {            Log.v(TAG, "onServiceConnected() called");            stockService = IStockQuoteService.Stub.asInterface(service);            callService();        }        @Override        public void onServiceDisconnected(ComponentName name) {            Log.v(TAG, "onServiceDisconnected() called");            stockService = null;        }    };

写在这个new ServiceConnection() {}中的 就相当与重写了 ServiceConnection类中的两个方法?
谢谢!

[解决办法]
是的。这个叫匿名内部类。new ServiceConnection() {}就好比是ServiceConnection类的子类。
[解决办法]
是的

@Override
表示重写,如果方法签名对不上 super type 的方法签名,则编译不通过。

这里 super type 为 ServiceConnection,这个类叫“匿名类”,没有名字 。

读书人网 >J2SE开发

热点推荐