首页 > 试题广场 >

关于JDK1.8中Java的抽象类、接口,以下描述错误的是?

[单选题]
关于JDK1.8中Java的抽象类、接口,以下描述错误的是?
  • 抽象类不一定含有抽象方法,接口中的方法都是抽象方法
  • 一个类只能继承一个抽象类,但可以实现多个接口;一个接口可以继承多个接口
  • 抽象类和接口中的方法都没有方法体
  • 抽象类可以含有私有成员变量,接口不含有私有成员变量
选择C。
A----------抽象类不一定含有抽象方法,接口中的方法都是抽象方法。
接口中的方法默认修饰符有public abstract。
B----------一个类只能继承一个一个抽象类,但可以实现多个接口;一个接口可以继承多个接口。
Java里类是单继承的,接口是可以多继承的,用关键字extends。
C----------抽象类和接口中的方法都没有方法体。
抽象类中的方法是可以有方法体的。JDK1.8之后,接口中的方法也可以有方法体,用default关键字修饰方法。
D----------抽象类可以含有私有成员变量,接口不含有私有成员变量。
接口中的成员变量都是public static final的,一般用作常量。
编辑于 2019-07-03 13:24:37 回复(14)
这道题是不是应该加上JDK的版本?
发表于 2019-07-01 17:30:42 回复(13)
A也错了,jdk1.8里面接口里面static/default修饰的方法也可以有方法体
interface A{
    
    default void test1(){
        System.out.println("default");
    }
    
    static void test2(){
        System.out.println("static");
    }
    
    void test3();
}


编辑于 2020-02-13 21:59:30 回复(2)
JDK8以上,接口可以含有静态方法和默认方法
发表于 2019-08-18 08:53:42 回复(2)
接口和抽象类的区别:
1.接口的方法默认为public abstract ,接口中的变量默认为public static final,在java8之前所有的方法不能有实现
抽象类中可以有非抽象方法
2.一个类可以实现多个接口,但只能继承一个抽象类
3.一个类实现接口,要实现该接口的所有抽象方法。
4.接口不能被实例化,但可以声明,但是必须引用一个实现该接口的对象。
抽象类可以有构造方法,但是不能被直接通过new进行实例化。但可以通过子类继承,实例化子类的时候抽象类也会被实例化。
这其实用到了多态,向上转型。父类引用指向子类对象。
5.从设计层面来说,抽象类是对类的抽象,是一种模板设计,接口是行为的抽象,是一种行为的规范。
原文链接:https://blog.csdn.net/qq_42922325/article/details/99609335
发表于 2019-09-26 08:43:32 回复(0)
我寻思a也是错的啊,jdk1.8之后
发表于 2019-10-04 13:15:38 回复(0)
A和C都是错的吧。
接口
在JDK7及以前:只能定义全局常量和抽象方法
            >全局常量:public static final的.但是书写时,可以省略不写
            >抽象方法:public abstract的
           
 在JDK8:除了定义全局常量和抽象方法之外,还可以定义静态方法、默认方法

发表于 2022-03-10 11:09:58 回复(0)
接口可以引用多个接口,用继承这个词是不是不太好😁
发表于 2019-07-16 20:35:35 回复(3)
一个类只能继承一个类,但可以实现多个接口。 一个接口不能实现其他接口,但可以继承多个接口
发表于 2022-04-29 18:41:28 回复(0)
1.8 接口中不是有静态方法 和 默认方法么?
A 选项后半句真的有问题啊
编辑于 2022-04-29 15:11:11 回复(0)
  • JDK1.8中,接口中除了有抽象方法外,还可以有静态方法和默认方法了;
  • A也不对叭
发表于 2022-04-04 12:43:20 回复(0)
抽象方法中是可以有方法体的
发表于 2022-03-14 10:26:37 回复(0)
抽象类中不一定都是抽象方法,所以可能存在方法体,还有这题应该说的是JDK1.8以下的,JDK8以上,接口可以含有静态方法和默认方法
发表于 2020-08-12 17:48:33 回复(0)
JDK 1.8 之后抽象类中可以有方法体
发表于 2020-08-11 19:07:14 回复(0)
jdk1.8中接口就可以有可以实现(有方法体)的方法了
发表于 2022-03-29 10:33:32 回复(0)
A错,1.8已结支持接口添加默认方法和静态方法
发表于 2022-02-03 09:35:34 回复(1)
那搞来的题,问题不少
发表于 2019-07-19 21:39:43 回复(0)
对于A选项,在 jdk1.8之后,接口中可以有方法体,但是该方法要声明为default。
编辑于 2019-07-08 13:42:03 回复(0)
抽象类中可以有实现了的方法,但接口中都是抽象方法
发表于 2023-10-08 23:32:46 回复(0)
ac都是错的,jdk8新增特性,a选项接口中可以有default方法和static方法,这两种方法都有方法体;c选项,接口里面都能有静态方法了,怎么可能所有方法都没有方法体
发表于 2022-07-11 12:37:35 回复(0)