请问接口是如何操作的? 1.不是不用,而是根本不可以在里面写任何的函数实现部分2.是的,否则会编译通不过3.这个是类型转换GIA因为实现了IA接口,所以GIA可以直接转换成IA实例 所以可以赋值给m_ia。就是GIA可以转换成IA 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1.接口的定义本身就是只有名字没有实现,形象点说就是只给路口你,但不告诉你怎么走;2.实现当然要全部实现,因为你既然实现继承下来,当然就要按着这个路口进入,具体走法你就可以自己选择啦,当然你可以在父亲的基础上另辟捷径;3.这是你自己定义的,new句柄就是实例化的过程,因为IA是父亲并不一定拥有GIA的实现途径,所以这种实例化之后,m_ia就是一个丰满的GIA实例,当然它仍然具有IA接口内的所有方法。 那我用以上的m_ia经过实例化后可不可以调用GIA中的方法,还是只可以调用接口本身中的方法? 实例化后当然用GIA的方法,当然如果GIA没有改写IA的方法,其实就是用IA的方法,但从来没有人会这样说的,因为IA有的方法GIA一定有,但GIA有的方法反倒IA不一定有。 发现了一个奇怪的问题,在某一个类中public class H(){ int HK; public void D(){ if(HK == IA.HK){ //在IA中也有一个变量是HK ... } }}但在这个类中并没有实现接口功能,也没有实例化IA,为什么可以直接用IA.HK的? 1. 与2同意 ChDw(米) 的观点3。接口本身就表达了对象的类型,这也是java对象多型的表现,也就是说,一个对象可以表现为多种类型,而一个接口仅反映了一个对象的一方面的特性。因此,this.m_ia中虽然是一个GIA的实例,但由于GIA是属于IA类型的,GIA完全具备IA要求的特性,所以this.m_ia这个句柄可指向一个GIA实例。4。你如果通过m_ia直接调用,只能调用IA中的方法,而不能调用GIA中别的方法(IA中所没有的)。但通过下述方法对m_ia造型后,可调用GIA中的方法: (GIA)m_ia.methodOnlyInGIA(); 回答问题:“但在这个类中并没有实现接口功能,也没有实例化IA,为什么可以直接用IA.HK的?”接口中只能在方法定义和常量,不可能出现变量。所以IA.HK类型肯定是: public static final type HK = vlaue;所以在别的任何类中,只要import了IA类,就可使用HK常量。 如果class H和interface IA在同一个package当中,IA是不用实例化都可以用的另外IA当中HK字段应该是一个static变量 上面的情况都说对了:是在同一个包中,也是static final!假如像 ericsome(GzEric)所说:“如果class H和interface IA在同一个package当中,IA是不用实例化都可以用的”那么在同一个包中的其他不是接口的类B的对象(GH)是不是也可以不用实例化就可以在同一个包的其他类A中调用类B中的对象(GH)? IA.HK之所以不能实例化就可调用,是因为它是 static final 的。所以你问B中的GH能否不用实例化就可使用,这要看GH的性质。如果它是static的,当然就可在A中直接调用,而不能实例化B,当然GH对象必须初始化,要不然你会在实际运行程序时碰到一个空指针 。 Good,thank you for all! 求救各位,ImageIO.read时报错,怎么才能读取这图片文件 java求助,关于读写文件的 java语句,跪谢求解! 请问这段代码是什么意思? 哪里有J2SE的原码下载啊?? 弱弱的问一下,classpath需要设置具体到目录还是jar文件? 我的一个纸牌游戏出现空指针 求高手帮忙解决 我的jdk1.4的环境变量的配置错在哪?(高分求助送100分) 求一本 侯捷编的 java 经典 关于类型强制转换的问题? javamail的文档哪里有下载的 要建立到MSSQL的连接,Class.forName与URL应怎样写?
{
int HK;
public void D(){
if(HK == IA.HK){ //在IA中也有一个变量是HK
...
}
}
}但在这个类中并没有实现接口功能,也没有实例化IA,为什么可以直接用IA.HK的?
(GIA)m_ia.methodOnlyInGIA();
“但在这个类中并没有实现接口功能,也没有实例化IA,为什么可以直接用IA.HK的?”接口中只能在方法定义和常量,不可能出现变量。所以IA.HK类型肯定是:
public static final type HK = vlaue;所以在别的任何类中,只要import了IA类,就可使用HK常量。
“如果class H和interface IA在同一个package当中,IA是不用实例化都可以用的”那么在同一个包中的其他不是接口的类B的对象(GH)是不是也可以不用实例化就可以在同一个包的其他类A中调用类B中的对象(GH)?