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个回答  推荐于2018-02-13

不一定,抽象类实现某个接口,可以不实现所有接口的方法,可以由它的子类实现。

比如

public interface A {//定义一个接口
   public void show();//定义一个接口方法

public abstract class AExtend implements A{//抽象类实现接口A,但可以不实现show方法,由子类再去实现

}

本回答被网友采纳
第2个回答  2020-07-28
分两种情况 实现类如果事抽象类就不用实现接口里面的所有方法,第二 实现的接口事函数式接口
第3个回答  2013-07-24
是的,不实现会报错了!!用myeclips 是会提示的!
第4个回答  2013-07-24
如果定义为抽象类,就可以实现部分方法

Java中 一个类实现了某接口 则必须实现该接口中的所有方法么?
不一定,关键要看子类是否是抽象类。如果子类是非抽象类,则必须实现接口中的所有方法;如果子类是抽象类,则可以不实现接口中的所有方法,因为抽象类中允许有抽象方法的存在!1、抽象类定义 抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的...

当一个类实现一个接口时,它必须实现该接口中的所有方法。(判断题)
必须实现该接口中的所有方法。也可以自定义接口中没有的方法。抽象类实现某个接口,可以不实现所有接口的方法,可以由它的子类实现。public interface A {\/\/定义一个接口 public void show();\/\/定义一个接口方法 } public abstract class AExtend implements A{\/\/抽象类实现接口A,但可以不实现show方...

java里实现一个接口的类必须要实现接口里的所有方法吗
1. 定义接口 \/** * 接口:表示人类行为 *\/interface Behavor {\/** * 抽象方法:“吃饭”方法 *\/void eat();\/** * 抽象方法:“睡觉”方法 *\/void sleep();} 2. 定义子类,实现接口 \/** * 子类:表示人类,实现“行为”接口 *\/class Person implements Behavor {\/** * 姓名 *\/prote...

一个java抽象类实现一个接口时,是否必须覆盖接口中所有的方法?
是的,只要该类实现一个接口就必须实现该接口的所有方法..哦...补充下,就如楼下说的,[抽象类可以不实现接口的方法,但该类必须声明为抽象类,让他的子类来实现. 如果他的子类还是抽象类那就再由子类的子类去实现,直到继承该类的类不是抽象类为止.]前提是所继承该类的派生类是不是抽象类来衡量是否...

java中,实现一个接口的类,必须实现这个接口的全部方法吗?
一般类必须全部实现,抽象类 可以只实现一部分方法。

java里实现一个接口的类必须要实现接口里的所有方法吗
java是只支持单继承的,这样有很多不便。为了解决这个问题,采用接口的方法,java支持多实现,就是一个类可以实现多个接口,在实现接口的同时还可以继承一个类,你实现了这个接口也类似于继承了这个接口。接口中的方法都是抽象的,没有方法体的,其作用就是让子类实现的,方法默认有public abstract 接口中...

java implements是什么意思?
当一个类使用了implements关键字并实现了一个接口,那么该类必须实现接口中的所有方法。在Java中,接口是一种纯抽象的数据类型,与类类似,但不能被实例化。Java中的接口提供了一种规范化的方式定义对象之间的通信。使用implements关键字实现接口可以帮助开发者更好地管理代码,降低代码耦合度。在Java中,...

接口的实现类必须实现接口的所有方法吗
是的,接口实现类必须实现接口的所有方法,如果要实现部分的话,可以用抽象类

java一个类可以实现几个接口
Java中的一个类可以实现任意数量的接口。Java的接口是一种引用类型,它是方法的集合。接口通常用来定义一个行为的集合,Java的类可以实现(或“实现”)一个或多个接口。接口可以有方法但没有实现。这意味着,当一个类实现一个接口时,它必须提供接口中所有方法的实现。接口可以被看作是一种合同或协议...

implements是什么意思?
在Java中,接口是一组方法的集合,它只是定义了方法名称和入参的类型,而没有具体的实现,所以类实现这个接口时,必须提供这些方法的具体实现。而implements就是表示一个类实现了接口的关键字,它用来指示这个类将实现该接口中所有定义的方法。当一个类实现了一个接口时,这个类必须给出实现每个方法的代码...

相似回答