java中,一个类实现某个接口,必须重写接口中的所有方法吗???

作者&投稿:慈翔 (若有异议请与网页底部的电邮联系)
java中,一个类实现某个接口,必须重写接口中的所有方法吗~

不一定,关键要看子类是否是抽象类。
如果子类是非抽象类,则必须实现接口中的所有方法;
如果子类是抽象类,则可以不实现接口中的所有方法,因为抽象类中允许有抽象方法的存在。

不一定,关键要看子类是否是抽象类。
如果子类是非抽象类,则必须实现接口中的所有方法;
如果子类是抽象类,则可以不实现接口中的所有方法,因为抽象类中允许有抽象方法的存在!
1、抽象类定义
抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。通常在编程语句中用 abstract 修饰的类是抽象类。在C++中,含有纯虚拟函数的类称为抽象类,它不能生成对象;在java中,含有抽象方法的类称为抽象类,同样不能生成对象。抽象类是不完整的,它只能用作基类。在面向对象方法中,抽象类主要用来进行类型隐藏和充当全局变量的角色。
2、抽象类特点
1)抽象类不能实例化。
2)抽象类可以包含抽象方法和抽象访问器。
3)不能用 sealed 修饰符修饰抽象类,因为这两个修饰符的含义是相反的。 采用 sealed 修饰符的类无法继承,而 abstract 修饰符要求对类进行继承。
4)从抽象类派生的非抽象类必须包括继承的所有抽象方法和抽象访问器的实际实现。
3、与具体类的比较

1)抽象类不能直接实例化,并且对抽象类使用 new 运算符会导致编译时错误。虽然一些变量和值在编译时的类型可以是抽象的,但是这样的变量和值必须或者为 null,或者含有对非抽象类的实例的引用(此非抽象类是从抽象类派生的)。
2)允许(但不要求)抽象类包含抽象成员。
3)抽象类不能被密封。
4、与接口的比较
1)相同点

a、不能实例化;
b、包含未实现的方法声明;
c、派生类必须实现未实现的方法,抽象类是抽象方法,接口则是所有成员(不仅是方法包括其他成员)
2)不同点

a、类可以实现无限个接口,但仅能从一个抽象(或任何其他类型)类继承,从抽象类派生的类仍可实现接口,从而得出接口是用来解决多重继承问题的。
b、抽象类当中可以存在非抽象的方法,可接口不能,且它里面的方法只是一个声明必须用public来修饰没有具体实现的方法。
c、抽象类中的成员变量可以被不同的修饰符来修饰,可接口中的成员变量默认的都是静态常量(static final)。
d、抽象类是对象的抽象,然而接口是一种行为规范。

不一定,关键要看子类是否是抽象类。
如果子类是非抽象类,则必须实现接口中的所有方法;
如果子类是抽象类,则可以不实现接口中的所有方法,因为抽象类中允许有抽象方法的存在!
1、抽象类定义
抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。通常在编程语句中用 abstract 修饰的类是抽象类。在C++中,含有纯虚拟函数的类称为抽象类,它不能生成对象;在java中,含有抽象方法的类称为抽象类,同样不能生成对象。抽象类是不完整的,它只能用作基类。在面向对象方法中,抽象类主要用来进行类型隐藏和充当全局变量的角色。
2、抽象类特点
1)抽象类不能实例化。
2)抽象类可以包含抽象方法和抽象访问器。
3)不能用 sealed 修饰符修饰抽象类,因为这两个修饰符的含义是相反的。 采用 sealed 修饰符的类无法继承,而 abstract 修饰符要求对类进行继承。
4)从抽象类派生的非抽象类必须包括继承的所有抽象方法和抽象访问器的实际实现。
3、与具体类的比较

1)抽象类不能直接实例化,并且对抽象类使用 new 运算符会导致编译时错误。虽然一些变量和值在编译时的类型可以是抽象的,但是这样的变量和值必须或者为 null,或者含有对非抽象类的实例的引用(此非抽象类是从抽象类派生的)。
2)允许(但不要求)抽象类包含抽象成员。
3)抽象类不能被密封。
4、与接口的比较
1)相同点

a、不能实例化;
b、包含未实现的方法声明;
c、派生类必须实现未实现的方法,抽象类是抽象方法,接口则是所有成员(不仅是方法包括其他成员)
2)不同点

a、类可以实现无限个接口,但仅能从一个抽象(或任何其他类型)类继承,从抽象类派生的类仍可实现接口,从而得出接口是用来解决多重继承问题的。
b、抽象类当中可以存在非抽象的方法,可接口不能,且它里面的方法只是一个声明必须用public来修饰没有具体实现的方法。
c、抽象类中的成员变量可以被不同的修饰符来修饰,可接口中的成员变量默认的都是静态常量(static final)。
d、抽象类是对象的抽象,然而接口是一种行为规范。

楼主,先声明一点,javax.swing基本是过时的,属于前台的工作,现在前台基本都是定制的,JAVA编程只要关注后台就可以,不过你问的接口问题倒是很重要的,给你解释以下,java中类和接口的设计完全体现了java语言的一些设计思想,比如面向对象,继承、多态等
1 接口的设计解决了java只能单继承的缺点,可以实现多个接口来实现java的多继承
2 实现某个接口必须覆写其中的所有方法,当然也可以是一个空的实现(方法体为空没有任何作用)
3 楼主也许会问了空实现有什么用呢,这就是java的特殊设计,通常的是接口在最上面,下面会有一个这个接口的实现类,有时候这个实现类也是一个空的实现,没有任何方作用!!!编程人员只需要实现那个空的方法,覆写其中自己需要方法的就可以了~~
为什么要这样做呢?原因就是接口是一个抽象的概念,与具体的底层、实现都无关,打个比方,现在的网络编程都是与HTTP协议相关的,如果将来有新的协议出现就只要实现这个接口就可以了,完全不用做任何修改就可以把新的协议容纳进来
总结一下,接口就是一个物体的抽象,规定了这个物体所有的行为方法,与具体的实现无关,这正体现了抽象的概念~~

哈哈,这是API文档的问题,你没看过Java源码,源码中实现的方法比这多,只是API没写全。要学会看源码!!!!

必须地!2楼正解

是的,需要全部实现

接口的特点:

1、用 interface 来定义。

2、接口中的所有成员变量都默认是由public static final修饰的。

3、接口中的所有方法都默认是由public abstract修饰的。接口没有构造方法。

4、实现接口的类中必须提供接口中所有方法的具体实现内容。 

5、多个无关的类可以实现同一个接口

6、一个类可以实现多个无关的接口

7、与继承关系类似,接口与实现类之间存在多态性

8、接口也可以继承另一个接口,使用extends关键字。

9、下图是我们的教案中的截取




java 和 c++
4.自动内存管理 Java程序中所有的对象都是用new操作符建立在内存堆栈上,这个操作符类似于c++的new操作符。下面的语句由一个建立了一个类Read的对象,然后调用该对象的work方法:Read r=new Read();r.work();语句Read r=new Read();在堆栈结构上建立了一个Read的实例。Java自动进行无用内存...

C语言期末复习试题赶紧复习起来
答案:C一知识点:常量、变量和标识符 7.C语言中最简单的数据类型包括--- A、整型、实型、逻辑型B、整型、实型、字符型 C、整型、字符型、逻辑型 D、整型、实型、逻辑型、字符型 答案:B一一知识点:常量、变量和标识符 8.下列选项中,合法的C语言关键字是--- A、VAR...

为什么那么多人想玩AVA?
一款FPS年度大作,一场震撼人心的枪战盛宴,一次声势浩大的视觉冲击,你准备好了吗?《战地之王》(简称“AVA”)自从登陆中国市场以来便给玩家留下了深刻的印象。运营至今,AVA接受了无数媒体的仔细评测,也经历了无数玩家的真实体验。千锤百炼下,各路A友都对这款FPS年度力度产生了自己专属的印象,并...

给点游戏AVA的资料
四位代言作为《A.V.A》韩国首个电子竞技比赛A.V.A The First Mission的宣传大使,通过比赛现场直播中进行的各种活动给观众带去多种优惠。战地之王(AVA)正式开启"加冕封测"2008年12月30日,腾讯公司在这个即将告别2008的日子再爆重磅炸弹,在业内被盛誉为FPS(第一视角射击)游戏神作之称的《A.V....

String,StringBuffer和StringBuilder的区别
StringBuilder并没有对方法进行加同步锁,所以是非线程安全的。3.StringBuilder与StringBuffer共同点 StringBuilder与StringBuffer有公共父类AbstractStringBuilder(抽象类)。抽象类与接口的其中一个区别是:抽象类中可以定义一些子类的公共方法,子类只需要增加新的功能,不需要重复写已经存在的方法;而接口中只是对...

JVM原理是什么?
方法表:一个数组,包括所有它的实例可能调用的实例方法的直接引用(包括从父类中继承来的)除此之外,若某个类不是抽象和本地的,还要保存方法的字节码,操作数栈和该方法的栈帧,异常表。举例:classLava{ privateintspeed=5; voidflow(){} classVolcano{ publicstaticvoidmain(String[]args){ Lavalava=newLava();...

ava的正常画质,和最佳画质,请上传
【渲染】渲染效果最高,可以进行全面设置。【各向异性过滤】各向异性过滤最佳,看物体很清晰。【照明】光源数量最多,照明效果最真实。【影子】影子最真实,和生活中一样,影子照在不同角度的物体上会发生变形,自己的影子也能看到。【抗锯齿】画面细腻程度最高,CSAA16,或者MSAA 8。【角色细节】角色的...

Java语言主要特点有哪些?
另一方面,Java丢弃了C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。 2、Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但...

java中的super()是什么
要说super就先要说this。"this",作为一个特殊的关键字,它的规则如下:1。可以表示构造函数传递。this(a,b)表示调用另外一个构造函数。这里面的this就是一个特殊语法,不是变量,没有什么类型。2。可以在一个类的非static成员内部使用,表示当前这个对象。此时,this就是一个final的普通变量,它有...

AVA好玩吗?
而一些中距离的冲锋枪由于射速很快准度也高 是一些喜欢体会冲锋刺激的玩家不错的选择。而狙击步枪就我自己这一段时间的琢磨首先 甩狙不在像以前CF那样弹随人走一狙就秒。由于真实的力学原理还原使狙击的操作方法和以前有了很大不同。而且在狙击的右方还有了一个平衡系统。再说武器的改造系统。可以更换上...

甘井子区13841833115: 当一个类实现一个接口时,它必须实现该接口中的所有方法.(判断题)当一个类实现一个接口时,它必须实现该接口中的所有方法.(判断对错) -
门饶邦达:[答案] 对的 必须实现该接口中的所有方法.当然 你也可以自定义接口中没有的方法. 下次提问说清楚是什么.. JAVA

甘井子区13841833115: java中,一个类实现某个接口,必须重写接口中的所有方法吗 -
门饶邦达: 不一定,关键要看子类是否是抽象类.如果子类是非抽象类,则必须实现接口中的所有方法; 如果子类是抽象类,则可以不实现接口中的所有方法,因为抽象类中允许有抽象方法的存在.

甘井子区13841833115: java里实现一个接口的类必须要实现接口里的所有方法吗? -
门饶邦达: 实现接口或继承抽象类的子类必须实现接口的所有方法或抽象类的所有抽象方法.实现方案:

甘井子区13841833115: java中,一个类实现了某个接口,什么意思?实现它,可以干什么 -
门饶邦达: 接口,你可以理解为一种规范,某个类实现了某个接口,就必须去实现该接口的所有方法,实现的方法你用来干嘛,他不管,你想干嘛就干嘛,只要你实现了就好.也可以这么说,实现了接口的类,必定有接口中的方法,哪怕是空实现.再深入一点,你可以再去了解一下接口回调,这块有比较多接口的应用.

甘井子区13841833115: 在java中,类实现接口时,必须实现其中的方法吗 -
门饶邦达: 若是抽象类,可以不实现其中的方法或只实现一部分;若不是抽象类,则必须要实现其中的方法

甘井子区13841833115: 一个java抽象类实现一个接口时,是否必须覆盖接口中所有的方法? -
门饶邦达: 不需要,抽象类可以不实现接口的方法,由抽象类的子类实现.例如:public interface ItfTest {//定义一个接口 public void test();//定义接口的方法 } public abstract class AbsTest implements ItfTest {//实现一个抽象类,继承ItfTest接口,可以test方法,由AbsTest的子类实现 }

甘井子区13841833115: java语言里面一个类实现了一个接口,会有什么样的结果? -
门饶邦达: 接口用来定义一组功能相关的函式清单, 从而允许不同的类包含有相同的功能.定义一接口后, 在系统中可以只对接口操作, 而不需要对特定类进行操作,如此, 在系统层级上就可以做到类(or Object)执行期间的替代,进而使系统设计, 增加了变化弹性, 易於实现功能.

甘井子区13841833115: java里实现一个接口的类必须要实现接口里的所有方法吗? -
门饶邦达: 也就是说你那个包只能在jdk1.4环境下用,如果想在高版本的jdk里面用,就需要修改它的代码,把没有实现的接口给实现了.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网