java中可否多个类实现一个接口?

java中可否多个类实现一个接口?假如这个接口中有两个方法,一个类实现一个,另一个类实现另一个,可行不?

我自己试过了,这样的话,两个类都得是抽象类,我又用两个子类分别继承两个类,并在其中分别实现它们没有实现的接口中的另一个方法,但是编译还是说两个类(前面说的两个类,非子类)是抽象的,不能通过。

到底这种构想是错误的?还是我的方法错误?
本人初学,一楼说的那些我还不懂

abstract
class和interface是Java语言中对于抽象类定义进行支持的两种机制。它们之间区别:
接口是公开的,里面不能有私有的方法或变量,而抽象类是可以有私有方法或私有变量的;
代码演示:
接口A
public
interface
A
{

public
abstract
void
play()
;

public
abstract
void
beFriendly();
}
接口B
public
interface
B
{

public
abstract
void
play()
;

public
abstract
void
beFriendly();
}
一个类实现多个接口@Service("weixinPay")
public
class
WeixinPay
implements
Pay{
@Overrid
public
Object
pay(Map<String,
Object>
map){
return
"weixinpay";
}
}
接口里定义的变量只能是公共的静态的常量,抽象类中的变量是普通变量;

实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法,一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现;
接口只能做方法申明,抽象类中可以做方法申明,也可以做方法实现;
接口可以实现多重继承,而一个类只能继承一个超类;
扩展资料:
Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。
两种含义:一,Java接口,Java语言中存在的结构,有特定的语法和结构;二,一个类所具有的方法的特征集合,是一种逻辑上的抽象。前者叫做“Java接口”,后者叫做“接口”。
功能
在Java语言规范中,一个方法的特征仅包括方法的名字,参数的数目和种类,而不包括方法的返回类型,参数的名字以及所抛出来的异常。在Java编译器检查方法的重载时,会根据这些条件判断两个方法是否是重载方法。但在Java编译器检查方法的置换时,则会进一步检查两个方法(分处超类型和子类型)的返还类型和抛出的异常是否相同。
接口实现和类继承的规则不同,为了数据的安全,继承时一个类只有一个直接父类,也就是单继承,但是一个类可以实现多个接口,接口弥补了类的不能多继承缺点,继承和接口的双重设计既保持了类的数据安全也变相实现了多继承。
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-11-04
Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)
接口:public
class
x{}
1例如:public
class
void
a
implement
x{实现接口方法}
2例如:
public
class
void
b
implement
x{实现接口方法}同样可以实现接口X
代码演示:
接口A
public
interface
A
{

public
abstract
void
play()
;

public
abstract
void
beFriendly();
}
接口B
public
interface
B
{

public
abstract
void
play()
;

public
abstract
void
beFriendly();
}
一个类实现多个接口@Service("weixinPay")
public
class
WeixinPay
implements
Pay{
@Overrid
public
Object
pay(Map
map){
return
"weixinpay";
}
}
扩展资料:
接口是常量值和方法定义的集合。接口是一种特殊的抽象类。
java类是单继承的。classB
Extends
classA
java接口可以多继承。Interface3
Extends
Interface0,
Interface1, interface……
不允许类多重继承的主要原因是,如果A同时继承B和C,而b和c同时有一个D方法,A如何决定该继承那一个呢?但接口不存在这样的问题,接口全都是抽象方法继承谁都无所谓,所以接口可以继承多个接口。
注意:
1)一个类如果实现了一个借口,则要实现该接口的所有方法。
2)方法的名字、返回类型、参数必须与接口中完全一致。如果方法的返回类型不是void,则方法体必须至少有一条return语句。
3)因为接口的方法默认是public类型的,所以在实现的时候一定要用public来修饰(否则默认为protected类型,缩小了方法的使用范围)。
第2个回答  2020-04-04
//A接口interface
A{
public
int
getA();
}
//B接口
interface
B{
public
int
getB();
}
//实现了某个接口必须实现其全部的方法
public
class
ImpAB
implements
A,B{
public
int
getA()
{
return
0;
}
public
int
getB()
{
return
0;
}
}
扩展资料:
功能
在Java语言规范中,一个方法的特征仅包括方法的名字,参数的数目和种类,而不包括方法的返回类型,参数的名字以及所抛出来的异常。
在Java编译器检查方法的重载时,会根据这些条件判断两个方法是否是重载方法。但在Java编译器检查方法的置换时,则会进一步检查两个方法(分处超类型和子类型)的返还类型和抛出的异常是否相同。
接口实现和类继承的规则不同,为了数据的安全,继承时一个类只有一个直接父类,也就是单继承,但是一个类可以实现多个接口,接口弥补了类的不能多继承缺点,继承和接口的双重设计既保持了类的数据安全也变相实现了多继承。
Java接口本身没有任何实现,因为Java接口不涉及表象,而只描述public行为,所以Java接口比Java抽象类更抽象化。但是接口不是类,不能使用new
运算符实例化一个接口。
Java接口的方法只能是抽象的和公开的,Java接口不能有构造器,Java接口可以有public、static和final属性。即接口中的属性可以定义为
public
static
final
int
value=5。
接口把方法的特征和方法的实现分割开来。这种分割体现在接口常常代表一个角色,它包装与该角色相关的操作和属性,而实现这个接口的类便是扮演这个角色的演员。一个角色由不同的演员来演,而不同的演员之间除了扮演一个共同的角色之外,并不要求其它的共同之处。
参考资料来源:百度百科--java接口
参考资料来源:百度百科--Java
编程语言
第3个回答  2019-09-30
通过内部类实现接口,解决多个接口中方法重名问题
一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现。
例如下面这串代码就可以实现一个类多个接口:
interface
Machine
{
void
run();
}
class
Person
{
void
run()
{
System.out.println("person
start");
}
}
public
class
Android
extends
Person
{
private
class
MachineHeart
implements
Machine
{
public
void
run()
{
System.out.println("machine
start");
}
}
Machine
getMachine(){
return
new
MachineHeart();
}
public
static
void
main(String[]
args)
{
Android
android=new
Android();
Machine
machine=android.getMachine();
machine.run();
android.run();
}
}
扩展资料:
实现一个类多个接口的好处,当实现多个接口时,如果两个接口有同样的方法,那么实现一次就可以了。
以上代码可以实现编译,说明接口可以继承多个接口。为什么不能实现类的多继承,主要是防止多个类有相同的方法名,然而方法体不一样,子类就比较难选择了。
参考资料百度百科java
第4个回答  2020-03-05
//A接口
interface
A{
public
int
getA();
}
//B接口
interface
B{
public
int
getB();
}
//实现了某个接口必须实现其全部的方法
public
class
ImpAB
implements
A,B{
public
int
getA()
{
return
0;
}
public
int
getB()
{
return
0;
}
}
已经很简单的了...
呵呵....
祝楼主早日成功哈!!!

java中,一个接口可以由多个类实现吗
Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)接口:public class x{} 1例如:public class void a implement x{ 实现接口方法} 2例如:public class void b implement...

一个接口多个实现类直接调用接口吗
首先,java中的接口别说实现多个接口了,一个接口也不能实现。因为接口中的方法是没有方法体的,所以不能实现任何接口。 其次,一个接口可以继承多个接口。因为类如果可以多继承,实例化时,如果要调用父类的方法,如果两个一样

java中如何用多个类操作同一个对象?
让某个对象只能存在一个 这样就可以使用多个类 对这一个对象进行操作了。\\x0d\\x0a如何实现某个对象只存在一个呢? (使用我们的工厂模式,一种编程思想)\\x0d\\x0a具体实现方式:\\x0d\\x0afinal public class MySessionFactory {\/\/该类不能被继承\\x0d\\x0a\\x0d\\x0aprivate static SessionFactory sessionFac...

java 多个实现类同时implements同一个interface 接口注入的时候用spring...
如果你的bean也是通过annotation注解的 加入是@Service 那你就这么写@Service("这里就是bean的ID")

JAVA如何实现一个接口,同时继承3个接口
接口继承和实现继承的规则不同,一个类只有一个直接父类,但可以实现多个接口。Java接口本身没有任何实现,因为Java接口不涉及表象,而只描述public行为,所以Java接口比Java抽象类更抽象化。Java接口的方法只能是抽象的和公开的,Java接口不能有构造器,Java接口可以有public,静态的和final属性。接口把方法...

java接口可以继承类吗?怎么回事说一下谢谢~~概念有点模糊~
java 接口不能继承类。接口之间允许存在继承关系,一个接口可以继承多个接口。类可以实现接口,通过 implements 关键字。接口不能实现接口。。。希望可以帮到你哈

java中一个类不能同时继承一个类和实现一个接口
java中一个类不能同时继承一个类和实现一个接口是错误的。接口和抽象类都能描述一般性的公有特征,一般来说,强是关系清晰地描述了父子关系,应该用类模拟,比如苹果是一种水果。而弱是关系是指对象具有某种属性,适合用接口模拟,比如苹果是可以吃的。由于子类只能扩展一个父类,而能实现多个接口,...

java中 多个类操作同一个对象
将你需要操作的那个对象所在的类进行单例化,就是私有化构造函数,不能创建对象,通过公共静态方法 得到内部已经创建好的对象,这样,不管从哪里得到的这个类的对象都是唯一的。public class test {private static test t = new test();\/** * @param args *\/public static void main(String[] args...

Java中两个类实现同一个接口,这两个类的方法可否通用
接口也是多态的一种应用,接口A,实现类B和C,A b=new B();b用的是B实现的方法,A c=new C();b用的是C实现的方法。

java 一个接口 方法返回类 多个类实现,方法按实现类不同返回类型...
要是实现返回类型不同还是有些难度的,可以转换思路 返回统一的Object,然后增加一个解析层

相似回答