为什么抽象类不能继承接口而接口可以继承接口?
一个抽象类implements一个接口,是不是不用完全实现接口中抽象方法???
为什么接口中的变量一定要是static 和 final?
什么时候用接口?什么时候用抽象类?
static修饰方法时有什么作用?
如果一个类继承了其它类,那么它还能有子类吗
请java大侠帮忙!关于以上问题好多书上说的不清,真实误人子弟!
最好具体一点!
先谢谢各位大侠!
一个抽象类implements一个接口,是不是不用完全实现接口中抽象方法???
为什么接口中的变量一定要是static 和 final?
什么时候用接口?什么时候用抽象类?
static修饰方法时有什么作用?
如果一个类继承了其它类,那么它还能有子类吗
请java大侠帮忙!关于以上问题好多书上说的不清,真实误人子弟!
最好具体一点!
先谢谢各位大侠!
接口只是极端化的抽象类.接口中的字段自动是static 和final的.这个和抽象类的原理一样,如果你继承一个抽象类,如果不实现它的抽象方法,不就必须也是抽象类,接口和这个一样.抽象类如果继承接口,必须得实现它的所有方法,这不就是implements吗?
如果有可能尽量使用接口,只有强制你必须要具有方法定义和成员变量时,才应该选择抽象类.
static 的方法你使用时,不需生成对象,就可通过类名调用.
可以有子类.java只是不支持象c++那种多重继承.它的多重继承是通过接口和内部类来实现的.
2、一个抽象类implements一个接口,是不是不用完全实现接口中抽象方法???(jbuilder9中可以不实现接口中的方法)
3、为什么一个普通类前也可以加abstract(jbuilder9中可以)
4、为什么接口的变量是static和final,有什么道理??????????????
5、什么时候用接口?什么时候用抽象类?//////////
Data date=new Date();
date.getToday();
而你可以直接用:
Date.getToday();6。当然可以
2.这个我还没有考虑过,我也是才学java,谢谢你能给我找出来这个问题.
3,普通类前可以加abstract,它也是抽象类,必须通过继承来使用.
4,final为常量,其值不能改变,所以用对象和类调用都一样,但是为了方便,加static,可以直接用类名调用.
5.当你要用多线程的时候,你可以继承Thread类和实现Runnable接口来使用,但是当你的类已经继承了一个类的时候,就需要通过接口来实现多线程.继承是强制性的,接口不是强制性的.继承的时候继承了父类的默认行为.接口不具有默认行为.接口相当于定义一个协议,要使用接口,你就的遵守它的协议.
当2个类之间具有is-a,is-like-a的关系的时候用继承,具有has-a的关系时用接口.
这个的确可以,但加了abstract就不是普通类了,而是abstract类了.(不可以被事例化)
这里你可以把abstract看成一种标记,就是加上abstract只是为了说明此类只是提供一些接口,不能事例化.至于类中的方法均有实现,可以把他们看成"钩子"函数,只是提供了一些默认的实现,子类可以重载,也可以不重载.一个抽象类implements一个接口,是不是不用完全实现接口中抽象方法??
这个当然可以呀!为什么要完全实现接口中的抽象方法?抽象类和接口中都可以有抽象方法!
如果是一个具体类implements一个接口,那必须完全实现接口中抽象方法,因为他可以被事例化.为什么接口的变量是static和final,有什么道理?
由于接口不能事例化,所以如果不将变量设为static,则无法使用.
java核心技术1 说的也不错只能继承一个抽象类,接口就能继承多个接口中字段都是自动设为public final的,默认就是这样,方法默认是public的