面试攻略,Java 基础面试 100 问(十一)

news/2024/11/7 13:42:21/

 抽象类(abstract class)和接口(interface)有什么异同?

抽象类和接口都不能够实例化,但可以定义抽象类和接口类型的引用。一个类如果继承了某个抽象类或者实现了某个接口都需要对其中的抽象方法全部进行实现,否则该类仍然需要被声明为抽象类。

接口比抽象类更加抽象,因为抽象类中可以定义构造器,可以有抽象方法和具体方法,而接口中不能定义构造器而且其中的方法全部都是抽象方法。抽象类中的成员可以是 private、默认、protected、public 的,而接口中的成员全都是 public 的。

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

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

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

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

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

及实现细节,因此也是相互矛盾的。

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

接口可以继承接口。

抽象类可以实现(implements)接口,抽象类可继承具体类,但前提是具体类必须有明确的构造函数。

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

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

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

可以继承其他类或实现其他接口,在 Swing 编程中常用此方式来实现事件

监听和回调。

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

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

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

  • (1)修饰类:表示该类不能被继承;

  • (2)修饰方法:表示方法不能被重写;

  • (3)修饰变量:表示变量只能一次赋值以后值不能被修改(常量)。

指出下面程序的运行结果

606690a877c95e4bd3b95d6efeb8cfe7.png

执行结果:1a2b2b。

创建对象时构造器的调用顺序是:先初始化静态成员,然后调用父类构造器,再初始化非静态成员,最后调用自身构造器。


http://www.ppmy.cn/news/1027902.html

相关文章

【rust/egui】(一)从编译运行template开始

说在前面 rust新手,egui没啥找到啥教程,这里自己记录下学习过程环境:windows11 22H2rust版本:rustc 1.71.1egui版本:rust windows安装参考:这里本文默认读者已安装相关环境(git、vscode等) 关于egui egui …

最新版高效多元化广告联盟系统源码,实时监控移动广告联盟,支持多种广告效果

诚丰广告联盟系统是一款强大的广告联盟解决方案,旨在提高网站在百度搜索引擎中的排名和可见性。我们的系统具有以下特点: 1. 高负载能力:我们的服务器每天能够承载至少200万个PV流量,保证您的网站能够稳定运行,并提供…

SpingBoot-Vue前后端——实现CRUD

目录​​​​​​​ 一、实例需求 ⚽ 二、代码实现 🏌 数据库 👀 后端实现 📫 前端实现 🌱 三、源码下载 👋 一、实例需求 ⚽ 实现一个简单的CRUD,包含前后端交互。 二、代码实现 🏌 数…

单链表(C语言版)

单链表:理解、实现与应用 单链表(Singly Linked List)是一种常见的数据结构,用于存储一系列具有相同类型的元素,并通过节点之间的链接建立起它们的关系。每个节点包含一个数据元素和一个指向下一个节点的指针。相比于…

大型企业或者组织,组建专属的虚拟局域网,深入理解相关的配置和搭建使用、网络加速和网络优化,可夸地区夸国际使用,深入搞懂每项配置的作用和含义

大型企业或者组织,组建专属的虚拟局域网,深入理解相关的配置和搭建使用、网络加速和网络优化,可夸地区夸国际使用,深入搞懂每项配置的作用和含义。 1、openxxx介绍与图解 1.1 openxxx介绍 openxxx 是一个基于 OpenSSL库的应用层 虚拟局域网 实现。和传统 虚拟局域网 相…

什么是管程?

前言 在并发编程领域,最核心的两个理念就是同步和互斥,并发编程就是围绕这两个核心概念来完成的。 互斥:同一时刻只能有一个线程持有共享资源同步:多个线程之间协调、互作 在最初,人们利用信号量机制来实现互斥和同步…

注意:阿里云服务器随机分配可用区说明

阿里云服务器如有ICP备案需求请勿选择随机可用区,因为当前地域下的可用区可能不支持备案,阿里云百科分享提醒大家,如果你的购买的云服务器搭建网站应用,网站域名需要使用这台云服务器备案的话,不要随机分配可用区&…

Ubuntu常用压缩指令总结

一、tar tar是Linux系统中最常用的压缩工具之一,它的一个优点是它可以保留文件的权限和所有权信息。tar可以创建.tar文件(通常称为"tarball"),或者与gzip或bzip2等工具结合使用来创建.tar.gz或.tar.bz2文件。gzip工具的…