大厂P7 Java程序员高频面试题-12

Posted 四猿外

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大厂P7 Java程序员高频面试题-12相关的知识,希望对你有一定的参考价值。

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

都不能。抽象方法需要子类重写,而静态的方法是无法被重写的,因此二者是矛盾的。本地方法是由本地代码(如C 代码)实现的方法,而抽象方法是没有实现的,也是矛盾的。synchronized 和方法的实现细节有关,抽象方法不涉及实现细节, 因此也是相互矛盾的。

阐述静态变量和实例变量的区别。

静态变量是被static 修饰符修饰的变量,也称为类变量, 它属于类,不属于类的任何一个对象,一个类不管创建多少个对象, 静态变量在内存中有且仅有一个拷贝;实例变量必须依存于某一实例,需要先创建对象然后通过对象才能访问到它。

静态变量可以实现让多个对象共享内存。

补充:在Java 开发中, 上下文类和工具类中通常会有大量的静态成员。

是否可以从一个静态(static)方法内部发出对非静态(non-static)方法的调用?

不可以, 静态方法只能访问静态成员,因为非静态方法的调用要先创建对象, 在调用静态方法时可能对象并没有被初始化。

String s = new String(“xyz”);创建了几个字符串对象?

两个对象,一个是静态区的”xyz”,一个是用new 创建在堆上的对象。

接口是否可继承(extends)接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concrete class)?

接口可以继承接口,而且支持多重继承。抽象类可以实现(implements)接口,抽象类可继承具体类也可以继承抽象类。

一个”.java”源文件中是否可以包含多个类(不是内部类)?有什么限制?

可以,但一个源文件中最多只能有一个公开类(public class)而且文件名必须和公开类的类名完全保持一致。

Anonymous Inner Class(匿名内部类)是否可以继承其它类?是否可以实现接口?

可以继承其他类或实现其他接口,在Swing 编程和android 开发中常用此方式来实现事件监听和回调。

内部类可以引用它的包含类(外部类)的成员吗?有没有什么限制?

一个内部类对象可以访问创建它的外部类对象的成员, 包括私有成员。

Java 中的final 关键字有哪些用法?

(1)修饰类:表示该类不能被继承;
(2)修饰方法:表示方法不能被重写;
(3)修饰变量: 表示变量只能一次赋值以后值不能被修改(常量) 。

以上是关于大厂P7 Java程序员高频面试题-12的主要内容,如果未能解决你的问题,请参考以下文章

大厂P7 Java程序员高频面试题-6

大厂P7 Java程序员高频面试题-9

大厂P7 Java程序员高频面试题-2

大厂P7 Java程序员高频面试题-10

大厂P7 Java程序员高频面试题-3

大厂P7 Java程序员高频面试题-4