Java面试问题(一)

一.Java语言具有的哪些特点

1.Java是纯面向对象语言,能够直接反应现实生活中的对象

2.具有平台无关性,利用Java虚拟机运行字节码文件,无论是在window、Linux还是macOS等其他平台对Java程序进行编译,编译后的程序可在其他平台上运行

3.Java为解释型语言,编译器把Java代码编译成平台无关的中间代码,然后在JVM上解释运行,具有很好的移植性

4.Java具有较好的安全性和健壮性,Java提供了异常处理和垃圾回收机制,去除了C++中难以理解的指针特性

5.Java语言提供了对Web应用开发的支持

二:面向对象的三大特性

1.封装:将客观事物抽象成类,每个类可以把自身数据和方法只让可信的类和对象操作,对不可信的进行信息隐藏。

2.继承:对象的一个新类可以从现有的类中派生,派生类可以从它的基类那里继承方法和实例变量,且派生类可以修改或新增新的方法使之更适合特殊的需求

3.多态:允许不同类的对象对同一消息做出响应,不同对象调用相同的方法,即使参数也相同,最终表现行为是不一样的。

三:多态存在的三个必要条件

1.要有继承,或实现

2.要有重写

3.父类引用指向子类对象

  • 这意味着我们可以声明一个父类类型的变量,并将其初始化为子类的一个实例。这种能力使得我们可以在不改变代码其他部分的情况下,用不同的子类实例替换父类引用所引用的对象。

四:方法被重写的前提

1.在子父类之间

2.相同的方法名

3.相同的参数列表(参数数量、参数类型、参数顺序都要相同)

4.相同的返回值类型,否则是语法错误

5.子类覆盖方法的访问权限要不小于父类中被覆盖方法的访问权限,否则是语法错误

五:静态方法

使用static修饰的方法称之为静态方法,静态方法不需通过对象调用,可以直接访问,也称为类方法。

静态方法有两种方式可以对其进行访问:

  1. 直接访问:类名.方法名()
  2. 实例化后访问:对象名.方法名()

六:使用静态方法须注意:

静态方法里只能直接访问静态成员,而不能直接访问类中的非静态成员

静态方法中不能使用this、super关键字

静态方法不能被非静态方法覆盖,static不能修饰构造方法

七:final关键字

  1. final修饰类:使用final修饰的类不能被继承。
  2. final修饰变量:使用final修饰的变量(属性和局部变量)不能被重新赋值,在声明时赋值,或在构造方法中赋值,系统不会对final属性默认的赋初始值。
  3. final修饰方法:使用final修饰的方法不能在子类中被覆盖,即不能修改。

八:创建抽象类和抽象方法

1. 修饰抽象类的修饰符有public和默认修饰符两种;

2.抽象类中可以有抽象方法,也可以有非抽象的方法;

3.抽象方法是无方法体的方法。

定义抽象类时,要在关键字class的前面添加abstract。

注意:

  1. 抽象类不能被实例化;
  2. 其包含的抽象方法必须在其子类中被实现,否则该子类只能声明为abstract;
  3. 抽象方法不能为static;
  4. 在下列情况下,一个类必须声明为抽象类:
    1. 当一个类的一个或多个方法是抽象方法时;
    2. 当类是一个抽象类的子类,并且没有实现父类的所有抽象方法,即只实现部分;
    3. 当一个类实现一个接口,并且不能为全部抽象方法都提供实现时;

九:字节序定义以及Java属于哪种字节序

字节序是指多字节数据在计算机内存中存储或网络传输时字节的存储顺序。通常由大端和小端两种方式。

小端:低位字节存放在内存的低地址端,高位字节存储在内存的高地址端

大端:高位字节存放在内存的低地址端,低位字节存放在内存的高地址端

十:JDK和JRE有什么区别

JDK:Java开发工具包,提供了Java的开发环境和运行环境

JRE:Java运行环境,提供了Java运行所需的环境

十一:Java访问修饰符

default:默认访问修饰符,在同一包内可见

private:在同一类内可见,不能修饰类

protected:对同一包中的类和所有子类可见,不能修饰类

public:对所有类可见

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/35518.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HuatuoGPT2本地运行失败

transformer 版本不能太高 transformer<4.3.32 查看config.json文件 其实 https://huggingface.co/FreedomIntelligence/HuatuoGPT2-7B/blob/main/config.json

2024年03月Python六级真题+答案(中国电子学会 )

青少年软件编程&#xff08;Python&#xff09;等级考试试卷&#xff08;六级&#xff09; 分数&#xff1a;100 题数&#xff1a;38 一、单选题(共25题&#xff0c;共50分) 1.以下选项中&#xff0c;创建类正确的是&#xff1f;&#xff08; &#xff09; A. class test1…

利用opencv自带的Haar级联分类器模型

OpenCV自带的Haar级联分类器模型&#xff1a; haarcascade_eye.xml: 这个模型用于检测眼睛。 haarcascade_eye_tree_eyeglasses.xml: 这个模型用于检测眼镜。 haarcascade_frontalcatface.xml: 这个模型用于检测猫脸。 haarcascade_frontalcatface_extended.xml: 这个模型用…

企业成功的秘诀:全面解读ISO三大管理体系的卓越效益

在现代商业环境中&#xff0c;企业若想在激烈竞争中脱颖而出并保持可持续经营&#xff0c;必须关注质量、环境以及职业健康安全管理。ISO三大管理体系——质量管理体系、环境管理体系和职业健康安全管理体系&#xff0c;为企业提供了实现这一目标的有力工具。本文将详细介绍ISO…

存储故障导致Oracle 19c 数据文件处于recover状态的恢复案例

1.背景 某次平台分布式存储故障&#xff0c;导致数据库出现ORA-00376、ORA-01110数据文件不可读报错&#xff0c;本文将整个恢复过程进行整理记录。 2.报错信息 在进行租户数据库打开操作时&#xff0c;出现了如下报错&#xff1a; ORA-00376: file 17 cannot be read at t…

Vue3抽屉(Drawer)

效果如下图&#xff1a;在线预览 APIs 参数说明类型默认值必传width宽度&#xff0c;在 placement 为 right 或 left 时使用string | number378falseheight高度&#xff0c;在 placement 为 top 或 bottom 时使用string | number378falsetitle标题string | slotundefinedfalse…

《Nest系列 - 4. 听说人人都会CRUD,可是我还不会怎么办???-《4.2结合前端使用实现CRUD》

终于到了这一步&#xff0c;今天我们就将实现一个CRUD&#xff0c;主要是编写nest 部分&#xff0c;前端部分后面可以看git 代码 下面是效果演示&#xff08;大部分是参考满哥实现&#xff0c;&#x1f923;&#x1f923;&#x1f923;&#xff09; 前期准备 前端接口处理 im…

RT-Thread Studio实现动态线程

1创建项目 我的板子为STM32F03ZET6 点击RT-Thread项目 2选择板子&#xff08;根据自己的板子选择&#xff09; 3找到主函数 4编写代码 4-1创建函数入口 // 线程入口函数 static void thread_entry(void *parameter) {rt_uint32_t count 0;while (1){// 线程执行的代码rt_k…

互斥锁并不能保证任务不能被调度

互斥锁不能保证在临界区的时候&#xff0c;不发送任务调度&#xff0c;所以为了保护共享的资源不被调度访问&#xff0c;需要在两个线程都加互斥锁来保证任务不调度 #include <stdio.h> #include <pthread.h> #include <unistd.h> int shared_resource 0;p…

2025中国(宁波)出口跨境电商博览会

2025中国(宁波)出口跨境电商博览会 时间&#xff1a;2025年5月28-30日 地点&#xff1a;中国宁波国际会展中心 组织单位&#xff1a; 宁波欧德国际商务咨询服务有限公司 凤麟展览(宁波)有限公司 宁波市跨境电子商务协会 宁波市家居产业协会 详询主办方陆先生 I38&…

【openmpi】怎样使用openmpi并行运行python脚本?

创作日志&#xff1a; 装过一次openmpi&#xff0c;但是半年之后就忘记怎么用了&#xff0c;所以记录一下 1. 测试openmpi是否安装好 cd /home/xxxx/SnapHiC_Call_Loop/openmpi-4.1.6/examples make mpirun -np 4 hello_c得到如下输出就说明是装好的了 2. 没有导入路径的话导…

rtthread stm32h743的使用(十)i2c设备使用

我们要在rtthread studio 开发环境中建立stm32h743xih6芯片的工程。我们使用一块stm32h743及fpga的核心板完成相关实验&#xff0c;核心板如图&#xff1a; 1.建立新工程&#xff0c;选择相应的芯片型号及debug引脚及调试器 2.打开cubemux&#xff0c;设置外部时钟及串口外设…

制造业采购堡垒机的四大必要性看这里!

制造业包括的行业广泛&#xff0c;与大家的生活息息相关&#xff0c;例如食品制造业、汽车制造业、纺织业、服装制造业等等。但大家对于制造业不是很了解&#xff0c;不知道制造业也是需要采购堡垒机的&#xff0c;今天我们就来聊聊制造业采购堡垒机的必要性。 制造业采购堡垒机…

python selenium 下载

查看浏览器版本 下载地址&#xff1a; 新版本下载地址 https://googlechromelabs.github.io/chrome-for-testing/ 历史版本也可以用这个下载地址 http://chromedriver.storage.googleapis.com/index.html 找到对应的版本 126.0.xxx 下载

推荐给中小学生的暑假打字神器

暑假是孩子们放松身心、增长知识的好时机。在这个漫长的假期里&#xff0c;家长们不仅希望孩子能够快乐地度过每一天&#xff0c;还希望他们能在学习上有所进步。尤其是随着科技的发展&#xff0c;熟练的打字技巧已经成为现代学习和工作的基本技能之一。今天&#xff0c;我要向…

节流工具,避免操作太频繁

ThrottleUtil 用于保证某个操作在一定时间内只执行一次的工具。 package com.cashpro.kash.lending.loan.utils;/*** <pre>* Created by zhuguohui* Date: 2024/6/26* Time: 13:43* Desc:用于节流执行任务,限制任务执行的频次* </pre>*/import android.os.Handle…

基于requests模块爬取网易云歌曲评论并制作热词云图

本实践大作业要求 本次实践大作业主要要求主要包括&#xff1a; 1、选择一个热点或者你感兴趣的主题作为本次爬虫实践作业要完成的任务。 2、为了完成本次任务&#xff0c;需要确定从网上爬取的数据对象与范围。 3、利用python及网络爬虫相关技术实现从网上爬取相应内容数据。 …

nvm-desktop window安装,支持动态切换nodejs版本

一、安装 nvm-desktop 概述 1 、卸载干净笔记的nodejs 和nodejs的环境变量 2、安装 nvm-desktop 软件 3、配置环境变量 4、测试功能 # 此时已安装完成 其他&#xff1a;常见nodejs的问题解决参考&#xff1a;官网 mac 安装教程 https://github.com/1111mp/nvm-desktop/blob/…

【揭秘新潮流】实践教学新宠SmartEDA,让电子设计课“潮“起来!

在信息时代的浪潮下&#xff0c;电子设计课程早已不再是枯燥乏味的代名词。随着技术的飞速发展&#xff0c;一种名为SmartEDA的实践教学新选择正逐渐崭露头角&#xff0c;为电子设计课程注入了前所未有的活力与趣味性。今天&#xff0c;就让我们一起走进SmartEDA的世界&#xf…

二维数组广度优先遍历-腐烂的苹果

一、问题描述 二、解题思路 此问题通过广度优先遍历来解决&#xff0c;模拟苹果发霉变坏的过程 1.初始时遍历网格&#xff0c;借助队列来储存所有发霉的苹果&#xff0c;统计好苹果个数 2.每一分钟队列内发霉苹果都会对周围的苹果起作用&#xff08;向外部扩散&#xff09;&am…