只要有接口就可以编译通过了 这正是使用接口的好处,你只知道怎么获得一个接口,不用知道它的实现java.util.Iterator是接口 但是 new java.util.ArrayList().iterator(); 得到一个Iterator能不能编译通过?
你并不知道具体实现Iterator的类J2EE的SDK 会生成运行时需要的桩模块
现场操练一把,发现: interface hi { String getname(); }public class mm { hi HI; public static void main() { } }只有这几句代码,什么实现都不用谈了。竟然编译通过!!!狂FT!!!!!! 看来接口本身是可以直接用来声明对象的。老兄的意见如何?
然后把它转换为Home接口,当然可以
HelloWorldHome hwh=......narrow(obj,HelloWorldHome.class); 语句。怎么就通过了。再极端一点,此时服务器没开,只有开发用的机器在运行,怎么办?
当然可以通过
——只编译不运行也用的着查jndi??“客户端需要有本地接口的类文件当然可以通过”
——是有本地接口的文件,但没有“类文件”。没有实现,不能说是类吧。
客户程序还是只能“看到”接口,找不到实现。
那么,还是这个问题:只有接口,怎么编译通过了?
这正是使用接口的好处,你只知道怎么获得一个接口,不用知道它的实现java.util.Iterator是接口
但是
new java.util.ArrayList().iterator();
得到一个Iterator能不能编译通过?
interface hi
{
String getname();
}public class mm
{
hi HI;
public static void main()
{
}
}只有这几句代码,什么实现都不用谈了。竟然编译通过!!!狂FT!!!!!!
看来接口本身是可以直接用来声明对象的。老兄的意见如何?
看好我的题意再表态,好不好。“看接口的定义,它应该是抽象类吧。抽象类不是不能直接用来声明对象吗? 为什么调用ejb的客户端程序中可以。 ” 难道我的程序不是“声明”吗?
List list2 = new ArrayList();是可以的
List list3 = new List();不行