Java基础题

1.一个".java"源文件是否可以包括多个类?

可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。

 

2.switch语句能否作用在byte上,能否作用在long上,能否作用在String上?

 在switch(expr1)中,expr1只能是一个整数表达式或者枚举常量,整数表达式可以是int基本类型或者Integer包装类型,由于byte,short,char都可以隐含转换为int,所以这些类型以及这些类型的包装类也是可以的,显然long和String类型都不符合switch的语法规定,并且不能被隐式转换成int类型。

 

3.short s1=1;s1=s1+1;有什么错?short s1=1;s1+=1;有什么错?
前一个运算时会自动提升表达式的类型,所以结果是int型,再赋值给short类型s1时,编译器将报告需要强制转换类型的错误。后一个是自增,可以正确编译。
4.使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
引用不能变,引用变量所指向的对象内容还是可以改变的。
5.静态变量和实例变量的区别?
 在语法定义上的区别:静态变量前要加static关键字,而实例变量前不加。
在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例对象才会被分配空间,才能使用这个实例变量。静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何对象实例,静态变量就会被分配空间,静态变量就可以被使用了。总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。
6.Integer与int的区别?
int的默认值为0,而Integer的默认值为null.
7.作用域public,private,protected及不写时的区别?
 
作用域当前类同包子类其他包
publicYesYesYesYes
protectedYesYesYesNo
privateYesYesNoNo
defaultYesNoNoNo

 

8.Overload和Override的区别?Overloaded的方法是否可以改变返回值的类型?

重载表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同)

重写表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,子类覆盖父类的方法时,只能比父类抛出更少的异常,或者抛出父类抛出的异常的子异常。子类方法的访问权限只能比父类更大,不能更小

 

9.构造器是否可被override?

构造器不能被继承,因此不能重写,但可以被重载。

 

10.abstract class和interface的区别?

含有abstract修饰符的class即为抽象类,abstract类不能创建实例对象,含有abstract方法的类必须定义为abstract class,abstract class 类中的方法不必是抽象的。abstract class类中定义抽象方法必须在具体子类中实现,所以,不能有抽象构造方法或抽象静态方法。如果子类没有实现抽象中父类中的所有抽象方法,那么子类也必须定义为abstract类型。

接口可以说成是抽象类的一种特例,接口中的所有方法都必须是抽象的。接口中的方法定义默认为public abstract类型,接口中的成员变量类型默认为public static final。

下面比较一下两者的语法区别:

1.抽象类可以有构造方法,接口中不能有构造方法。

2.抽象类中可以有普通成员变量,接口中没有普通成员变量。

3.抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的普通方法。

4.抽象类中的抽象方法的访问类型可以是public,protected,但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型。

5.抽象类中可以包含静态方法,接口中不能包含静态方法。

6.抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static final类型,并且默认即为public static final类型。

7.一个类可以实现多个接口,但只能继承一个抽象类。

 

11.abstract的method是否可同时是static?

abstract的method不可以是static,因为抽象的方法是要被子类实现的。

 

12.String是最基本的数据类型吗?

基本数据类型包括:byte,int,char,long,float,double,boolean和short。

java.lang.String类是final类型的,因此不可以继承这个类,不能修改这个类。为了提高效率节省空间,建议使用StringBuffer类。

 

13.String和StringBuffer的区别?

他们都可以存储和操作字符串,String类提供了数值不可改变的字符串。StringBuffer可以进行字符串修改。

String s="hello";s=s+"world!";s所指向的那个对象没有发生改变,s不指向原来那个对象了,而是指向了另一个String对象,内容为"hello world!",原来那个对象还存在于内存中,只是s这个引用变量不再指向它了。

 

14.final,finally,finalize的区别?

final用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。

finally是异常处理语句结构的一部分,表示总是执行。

finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法。

 

15.运行时异常与一般异常有何异同?

异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。

 

16.error和exception的区别?

error是一种错误,如内存溢出和线程死锁,代码不可控,exception是代码可以控制的。

 

 17.heap和stack的区别?

java的内存分为两类,一类是栈内存,一类是堆内存。栈内存是指程序进入一个方法时,会为这个方法单独分配一块私属存储空间,用于存储这个方法内部的局部变量,当这个方法结束时,分配给这个方法的栈会释放,这个栈中的变量也将随之释放。堆和栈是作用不同的内存,一般用于存放不放在当前方法栈中的那些数据,例如,使用new创建的对象都放在堆里,所以,它不会随方法的结束而消失。方法中的局部变量使用final修饰后,放在堆中,而不是栈中。

 

18.sleep()和wait()的区别?

sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。

wait是object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获取锁进入运行状态。

 

 

VScode利用EIDE和cortex-debug进行stm32开发(也适用51) 你是否因为keil页面太丑而烦恼,你是否因为keil编译太慢而恼怒,ok阿,今天也是给大家带来怎么在vscode上进行stm32的编程(我不会告诉你,我搞了好几天才搞好的💔💔💔)为什么是简单介绍?因为太啰嗦了,我嫌麻烦😋,大家可以去EIDE的官方文档去看。 阅读详情

相关推荐

AI落地困局与破局者FDE:从技术神话到价值实干的战略转型

AI落地困局与破局者FDE:从技术神话到价值实干的战略转型 当前AI企业级应用面临三大核心挑战:业务场景深度非标化、技术落地"最后一公里"困局、以及市场竞争焦点转向实用价值。前线部署工程师(FDE)作为破局关键,通过技术-业务-产品三维交汇的复合能力,将AI从实验室推向生产环境。FDE不仅是技术架构师,更是业务价值挖掘机和产品进化传感器,通过"碎石路-高速公路"双循环模式,将定制化需求沉淀为可复用的平台能力。这种模式颠覆了传统SaaS的销售逻辑,形成基于价值的J型增长

随笔记录-分享&记忆 4003

Java基础题刷题

答案:ABCD解析:同上题E选项。接口中的变量都是常量,默认是public final static,可省略,写出来也是对的,提倡都写出来,提高可读性。

lanlan4k的博客 931

Comsol单层焊缝焊接数值模拟:温度场与应力场全流程解析

在工程制造领域,有限元模拟是研究焊接热-力行为、优化工艺参数的重要工具。焊接过程涉及强烈的局部加热和快速冷却,材料经历复杂的非线性和相变,必须通过瞬态分析和热-力顺序耦合,才能准确捕捉移动热源作用下的温度演化与应力塑性积累。这一技术广泛应用于压力容器、船舶结构、车辆制造等场景,用以预测残余应力与变形、评估冷裂纹风险,并为工艺设计提供定量支撑。焊接数值模拟能否真正指导实践,关键在于热源校核、随温度变化的材料参数、合理的边界条件与网格策略。单层焊缝作为焊接模拟的基础模型,涵盖了移动热源加载、熔池形成、高温软化与

weixin_30444111的博客 222

Java面试(Java基础题)附带找题刷题方法!!

博主是一名软件工程专业的大三学生,最近也是在找实习,博主是简历没少投但是回应却较少,步过话又说回来,若是投中了去面试却没有过那可盖了帽了(完了的意思)。所以我会分享一些Java的面试题大部分都是博主遇到过的。没有什么顺序就是想到哪题说那题。

m0_73785825的博客 808

道路损伤检测必备:RDD2022数据清洗与增强的5个关键步骤

本文详细介绍了道路损伤检测中RDD2022数据集清洗与增强的5个关键步骤。通过深度数据质量审计、跨国家分布分析、面向真实场景的智能增强、以模型表现为导向的数据集划分,以及构建自动化处理流水线,将原始数据转化为高质量训练集,有效提升模型性能。

cola5的博客 515

告别电机啸叫!手把手教你配置TMC5160的StealthChop2静音模式(附参数自整定避坑指南)

本文详细介绍了如何通过配置TMC5160的StealthChop2模式彻底消除3D打印机电机噪音。从硬件准备到参数自整定,再到高级调优与异常处理,手把手教你实现实验室级别的静音效果,提升打印质量和使用体验。

weixin_33724659的博客 487

java基础巩固刷题

java刷题

STATICHIT静砸的博客 539

SAP S4 HANA 新资产会计中的平行分类账估值

在资产会计中,我们可以设置使用折旧区域的平行分类账会计 我们需要根据涉及的会计原则定义折旧区域,在我们的方案中,公司 FR01 是一家国际集团的当地分支机构,公司 FR01 需要按照集团会计准则 IFRS 和当地 GAAP 会计准则报告财务报表。过账到 LG 会计原则(分类帐 2L)-->分类账 2L的 150 欧元损失 -->在 IFRS 折旧区域,我们有 100 欧元的收益,在 LG 折旧区域,我们有 150 欧元的损失,使用平行分类账 0L 和 2L,我们能够根据不同的会计原则进行平行估值。

yanzibing99的博客 1329

【Java刷题进阶】基础进阶篇

?Java基础学习主要以练习为主,很多朋友听完视频课程学会基础以后感觉对练手项目无从下手,这里推荐去牛客网看看,这里的IT题库内容很丰富,属于国内做的很好的IT学习网站,而且是课程+刷题+面经+求职+讨论区分享。??从基础开始练习,**知识点编排详细,题目安排合理,题目表述以指导的形式进行。**整个题单覆盖了java入门的全部知识点以及全部语法,通过知识点分类逐层递进,从基础开始到最后的实践任务,都会非常详细地指导你应该使用什么函数,应该怎么输入输出。**??

web18285482512的博客 901

三菱JET伺服限位、原点信号通过PLC刷新设置方法

RWw及RWr软元件的初始设定值,可通过 [Pr. PA01.0 控制模式选择] 及 [Pr. PN22.0 默认映射模式选择] 的值进行切换。JET伺服参数用于CC-Link IE现场网络Basic。循环通信的请求报文与响应报文的收发数据被换读为伺服放大器的对象数据 (RWwn、RWrn)。接下来看映射字2D05具体的内容: 也就是2D05操作字的第九位、第十位、第十一位。响应报文的设定值可进行变更。变更初始设定值时,应变更PDO映射。不同的模式,对应不同的刷新映射内容。GXWORKS3程序。

qq_51166033的博客 8055

23、电生理与CSD分析:探索大脑活动的前沿技术

本文介绍了电生理与电流源密度(CSD)分析在探索大脑活动中的前沿应用。从电生理技术的发展现状,到局部场电位(LFPs)的起源与解释,重点阐述了CSD分析的原理、实验方法及其在绘制皮层兴奋流、解析突触输入和研究自发振荡中的广泛应用。文章还总结了该领域的优势与挑战,并展望了技术改进、多模态融合、数据分析创新及临床拓展的未来方向,展示了这些技术在揭示大脑功能机制中的关键作用。

Apple的专栏 121

java基础题

hello world! 372

Centos 7 Linux 安装单机 Hadoop(HDFS):下载、安装、配置、测试

本文详细介绍了在 CentOS 7 系统上安装与配置单机 Hadoop(HDFS)的完整流程,涵盖 JDK 环境准备、Hadoop 安装包下载与部署、核心配置文件(core-site.xml、hdfs-site.xml 等)修改、SSH 免密登录设置、HDFS 格式化及服务启动,并通过命令行与 Web 界面验证 HDFS 和 YARN 功能,适合 Hadoop 初学者快速搭建本地测试环境。

寒水馨 · 轻量级技术文档 · hanshuixin.org 3237

基础知识掌握的好不好,Java基础2道题,Oracle五道题,能不打哏就做出来的请举手

从事软件开发几年了,你的基础知识掌握的好不好,请在评论中给出结果,不带作弊的啊! 1、判断如下程序运行后的输出结果public static void main(String[] args) { String s="1a"; int n=0; System.out.println(n++); try{ n=Integer.parseInt(s, 16); System.

dl0246的博客 876

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

java 100 基础题_JAVA基础面试100题(一)新手必看

JAVA基础面试100题(一)新手必看-1.jpg (30.43 KB, 下载次数: 0)2018-7-10 19:27 上传更多精彩内容关注“柠檬学园”1、String和StringBuffer有什么区别?int 和 Integer有什么不合, float f=3.4是否正确2、异常(Exception)分几种类型?有什么区别?写出几个常见异常(若记不得异常的英文名,写中文名亦可)3、写出几种常...

weixin_39625782的博客 588

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

20道经典Java面试基础题

广州华信智原 2016-10-14 15:57对于很多初入编程行业的程序员来说,第一次面试编程工作时是最紧张最无助的,因为他们从来没有面试过这类工作,不知道主考官会问什么。那么一般初级Java面试时会问哪些问题呢广州华信智原在这里为大家准备了20道经典Java面试基础题。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V4Z8a82J-1655998047898)(http://p3.pstatp.com/large/e9700078190e1361b45)]1、如果main方

m0_52789121的博客 181

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

java的梗_Java程序员绕不过去的梗之Java基础题

原标题:Java程序员绕不过去的梗之Java基础题Java编程基础题你学到什么程度了呢,下面让动力节点Java学院为你总结那些让你经历绝望的Java编程基础题。 1、一个Java源程序是由若干个类组成。2、class是Java的关键字,用来定义类。3、Java应用程序中有多个类时,Java命令后的类名必须是包含了main方法的那个类的名字。4、一个Java应用程序必须且只有一个类含有main方法。...

weixin_39533174的博客 1018

Java基础50题(1) 1~10题

不说什么了,从最基础的开始吧。不论多简单的题目,自己不动手敲一遍是不可能深刻理解的。嘴上说说谁都会。 2018.3.25 Java基础50题系列源码已上传到我的github仓库,有需要的可以自取,欢迎大家提出建议 https://github.com/Lawliet0717/Java-foudamental-50-problems 第一题 ## 题目:原题是生兔子的问题 思路:其实就是...

Lawliet_233的博客 457

Java逻辑基础题数组答案资源下载

Java逻辑基础题数组答案资源下载 去发现同类优质开源项目:https://gitcode.com/ 此仓库提供了Java逻辑基础题第五部分的答案文件,主题围绕数组的相关知识。资源文件为Java逻辑基础题5-数组-答案.docx,包含了数组逻辑题的解题步骤和答案,适合Java学习者和需要巩固数组知识的人员使用。文件采用Microsoft Word格式,可以直接下载后使用。 去发现同类优质开源项目...

gitblog_06766的博客 277

【JavaSE】java刷题——基础语法熟练应用

前言 通过本篇题目,可以让初学Java的小伙伴们更加熟练Java的基础语法~ 欢迎关注个人主页:逸狼 创造不易,可以点点赞吗~ 如有错误,欢迎指出~ 题1:数字9 出现的次数 题述:编写程序数一下 1到 100 的所有整数中出现多少个数字9 思路 分两步 取个位上的9 有9 19 29……99 有10个 取十位上的9 有90 91 92 93……99 有10个 代码实现 public class test { //1~100数字9出现的个数 publ

2301_80898480的博客 1756

Java基础知识考核题

文章目录Java基础知识考核题1. 浮点型数据题目一. float a = 0.125f; double b = 0.125d; System.out.println((a - b) == 0.0); 代码的输出结果是什么?题目二: double c = 0.8; double d = 0.7; double e = 0.6; 那么c-d与d-e是否相等?题目三: System.out.print...

hiXavier的博客 1175

4道JAVA基础题

文章摘自 微博 “IT程序猿” 转载于:https://my.oschina.net/cherryzhang/blog/600680...

113

Java基础刷题

文章目录 下面哪些是合法的变量名?(BCDE) A. 2variable B. variable2 C. _whatavariable D. _3_ E. $anothervar F. #myvar G. $_¥ A. 不能以数字开头 F. 不能以#开头 G. 不能以中文¥命名 标识符的规范:26个字母,数字,_,$,数字不要开头 有一段java应用程序,类名是A1,那么保存它的源文件名可以是(AD) A) A1.java B) a1.class C) a1 D) D.java E) 都对

PPDY93的博客 4941
上一篇: JMS——集成Spring
下一篇: 单例模式
memory
博客等级 码龄17年 1粉丝 117原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值