大厂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的主要内容,如果未能解决你的问题,请参考以下文章