java语言中允许一个类实现多个接口_抽象类在Java语言中表示的是一种继承关系,一个类只能使用一次继承.但是一个类却可以实现多个接口....

本文详细讨论了Java中的类继承特性,指出Java只允许单继承但支持多层继承。同时,阐述了抽象类可以没有抽象方法,但含有抽象方法的类必须是抽象类。接口方面,一个类可以实现多个接口,接口中的方法默认为抽象且必须由实现类重写。此外,接口中的成员变量必须是public static final的常量。最后,强调了实现接口的类必须实现接口中的所有抽象方法,除非自身也是抽象类。
摘要由CSDN通过智能技术生成

匿名用户

1级

2019-04-14 回答

A选项,对。java中类之间只能够实现单继承,即就是说一个类只能有一个父类,但允许多层继承,即就是一个类有一个父类,该父类还可以有自己的一个父类。举个例子:假如A能够继承类B和C,但当B,C中有相同的方法时,让A来调用,那么,A到底调用的父类中谁的方法呢?所以,java中类只能够实现单继承。

但,类对于接口的话,类可以实现多个接口,即使不同接口有相同的抽象方法,子类默认也只会实现一个。

B选项,对。抽象类可以没有抽象方法。但是有抽象方法的类一定是抽象类。

C选项,不对。不对是因为前半句,实现抽象类和接口的如果是非抽象类的话,该非抽象类就必须实现其中所有的抽象方法,而不是所有方法,因为抽象类还可以有其他方法体跟实现。

但假如实现抽象类和接口的是抽象类的话,那么抽象类就可以不用实现所有方法(所有方法包括父类或接口的所有抽象方法)(意思就是,该抽象类需要哪个抽象方法了就去实现,不需要了就不用去实现)。

后半句正确,接口和抽象类中的抽象方法只有声明(即定义方法)不能有实现,这些抽象方法存在目的是让子类重写。

因为接口中只能定义抽象方法,故而C选项说的接口中的方法都不能被实现,是对的。

但抽象类可以有非抽象的方法和其方法的具体的方法,比如抽象类的构造方法(只是该构造方法不能被new实例化)。

D选项,对。解释下D选项,接口中需要定义成员变量时,该成员变量必须定义为常量,然而定义常量那就必须用final来修饰,再者,该常量对于实现接口的所有实现类只能有一份,故而必须用静态的static来修饰,再加上接口必须要具体类来实现才有意义,所以必须是public来修饰。并且,在定义该成员变量时必须进行直接赋初始值!如:public static final int age = 10;而不是像只由final修饰的成员变量那样,即可以直接赋值,也可以在构造方法里面赋值。同时,既然被final修饰了,那么该变量已经成为最终变量了,那么该值当然是不可变的,也是不可以被重新定义的了。

E选项,对。接口必须要具体类来实现才有意义,所以必须是用public来修饰接口中的抽象方法的,同时,省略不写public的时候,默认还是public修饰符。

同时,实现接口的子类,在定义重写子类方法的访问级别不能低于父类相应方法的访问级别。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值