以下描述中,对抽象类和接口的区别描述正确的是
抽象类可以有构造方法,接口不能有构造方法;
抽象类可以包含静态方法,接口中不包含静态方法
一个类可以继承多个抽象类,但只能实现一个接口
抽象类中不可以包含静态方法,接口中可以包含静态方法;
Java抽象类中不能有静态的抽象方法。 原因:抽象类是不能实例化的,即不能被分配内存;而static修饰的方法在类实例化之前就已经别分配了内存,这样一来矛盾就出现了:抽象类不能被分配内存,而static方法必须被分配内存。所以抽象类中不能有静态的抽象方法。 另外,定义抽象方法的目的是重写此方法,但如果定义成静态方法就不能被重写。
Java 8 对接口做了进一步的增强。 a. 在接口中可以添加使用 default 关键字修饰的非抽象方法。即:默认方法(或扩展方法) b. 接口里可以声明静态方法,并且可以实现。
Java 8 对接口做了进一步的增强。
a. 在接口中可以添加使用 default 关键字修饰的非抽象方法。即:默认方法(或扩展方法)
b. 接口里可以声明静态方法,并且可以实现。
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题