Java基础面试每日3题:day02

Posted 闲言_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础面试每日3题:day02相关的知识,希望对你有一定的参考价值。

1.抽象类和接口有什么异同?

  抽象类和接口都不能够实例化,但可以定义抽象类和接口类型的引用。

  一个类继承了某个抽象类或实现了某个接口都需要都其中的抽象方法进行全部实现,否则该类需要声明为抽象类

  接口比抽象类更加抽象,因为抽象类可以定义构造器,可以有抽象方法具体方法,而接口不能定义构造器而且其中的方法全都是抽象方法

  抽象类的成员修饰符可以是 privatedefaultprotectedpublic ,而接口 中的成员修饰符全都是public的。抽象类可以定义成员变量,而接口中定义的成员变量实际上都是常量。有抽象方法的类必须声明为抽象类,而抽象类未必要有抽象方法

2.静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同?

  Static Nested Class 是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化。而通常的内部类需要在外部类实例化后 才能实例化。

3.抽象类(abstract)的方法是否可同时是静态(static)的,是否可同时是本地方法(native),是否可同时被synchronized修饰?

  都不能。

  抽象方法需要被子类重写,而静态方法不能被子类重写的,因此二者是矛盾的。

  本地方法是由本地代码(如C代码)实现的方法 ,而抽象方法是没有实现的,也是矛盾的。

  synchronized和方法的实现细节有关 ,抽象方法不涉及实现细节,因此也是相互矛盾的。


  注:由于以上题目来自互联网收集,如有侵权,请联系删除!

以上是关于Java基础面试每日3题:day02的主要内容,如果未能解决你的问题,请参考以下文章

Java基础面试每日3题:day04

Java基础面试每日3题:day01

Java基础面试每日3题:day09

Java基础面试每日3题:day06

Java基础面试每日3题:day03

Java基础面试每日3题:day10