JAVA面试问题与解答(1-15)
Q1、内部类和子类之间有什么区别?
Ans:Inner类是嵌套在另一个类中的类。内类具有嵌套它的类的访问权限,并且它可以访问外部类中定义的所有变量和方法。
子类是从另一个名为super class的类继承的类。子类可以访问其超类的所有公共和受保护的方法和字段。
Q2、Java类的各种访问说明符是什么?
Ans:在Java中,访问说明符是在定义访问范围的类名之前使用的关键字。类的访问说明符类型是:
- public:类,方法,字段可从任何地方访问。
- protected:方法,字段可以从它们所属的同一个类或从子类访问,也可以从同一个包的类访问,但不能从外部访问。
- Default:方法,字段,类只能从同一个包访问,而不能从它的本机包外部访问。
- Private:Method,Field可以从它们所属的同一个类访问。
Q3、静态方法和静态变量的目的是什么?
Ans:当需要在类的多个对象之间共享方法或变量而不是为每个对象创建单独的副本时,我们使用静态关键字为所有对象共享方法或变量。
Q4、什么是数据封装及其意义?
Ans:Encapsulation是面向对象编程中的一个概念,用于在单个单元中组合属性和方法。
封装有助于程序员遵循模块化方法进行软件开发,因为每个对象都有自己的一组方法和变量,并且独立于其他对象提供其功能。封装还用于数据隐藏目的。
Q5、什么是单例?举一个实际的例子来说明它的用法。
java 中的单例类只能有一个实例,因此它的所有方法和变量只属于一个实例。Singleton 类概念对于需要限制类的对象数量的情况很有用。
单例使用场景的最佳示例是,由于某些驱动程序限制或其它问题,仅限与数据库建立一个连接。
Q6、什么是 Java 中的循环?三种循环是什么?
Ans:循环用于编程以重复执行语句或语句块。Java 中有三种类型的循环:
1)For循环
for 循环在 java 中用于重复执行语句给定次数。当程序员知道执行语句的次数时,使用 For 循环。
2)while
当需要重复执行某些语句直到满足条件时,使用循环。在 while 循环中,在执行语句之前首先检查条件。
3)do while
Do While 循环与 While 循环相同,只是区别在执行语句块后检查条件。因此,在 do while 循环的情况下,语句至少执行一次。
Q7、什么是无限循环?如何声明无限循环?
Ans:无限循环在没有任何条件的情况下运行并无限运行。通过在语句块的主体中定义任何中断逻辑,可以打破无限循环。
无限循环声明如下:
for(;;){
//要执行的语句
//添加任何循环破坏逻辑
}
Q8、continue 和 break 语句有什么区别?
Ans:break 和 continue 是循环中使用的两个重要关键字。当在循环中使用 break 关键字时,循环会立即中断,而当使用 continue 关键字时,当前迭代会被中断,循环将继续下一次迭代。
在下面的例子中,当计数器达到 4 时,循环被中断。
for(counter = 0; counter<10; counter ++){
System.out.println(counter);
if(counter == 4){
break;
}
}
在下面的示例中,当计数器达到 4 时,循环跳转到下一次迭代,并且跳过 continue 关键字之后的任何语句以进行当前迭代。
for(counter=0;counter< 10;counter++){
system.out.println(counter);
if (counter == 4) {
continue;
}
system.out.println("This will not get printed when counter is 4");
}
Q9、Java 中的 double 和 float 变量有什么区别?
Ans:在 java 中,float 在内存中占用 4 个字节,而 Double 在内存中占用 8 个字节。Float 是单精度浮点十进制数,而 Double 是双精度十进制数。
Q10、什么是 Java 中的 final 关键字?举个例子。
Ans:在 java 中,使用关键字 Final 声明一个常量。值只能分配一次,在赋值后,常量值不能改变。
在下面的示例中,声明了名为 const_val 的常量并赋予了 avalue:
Private Final int const_val = 100
当一个方法被声明为 final 时,它不能被子类覆盖。这个方法比任何其他方法都快,因为它们在编译时被解析。
当一个类声明为 final 时,它不能被子类化。示例 String,Integer 和其他包装类。
Q11、什么是三元运算符?举个例子。
Ans:三元运算符,也称为条件运算符,用于根据布尔值评估决定将哪个值赋给变量。它被表示为?
在下面的示例中,如果 rank 为 1,则为状态分配值 “Done”,否则为 “Pending”。
public class conditionTest {
public static void main(String args[]) {
String status;
int rank = 3;
status = (rank == 1) ? "Done" : "Pending";
System.out.println(status);
}
}
Q12、如何在 Java 中生成随机数?
Ans:
- 使用 Math.random()可以生成大于或等于 0.1 且小于 1.0 的随机数
- 在包 java.util 中使用 Random 类
Q13、什么是默认Switch case?举个例子。
Ans:在 switch 语句中,当没有其他switch case条件匹配时,执行默认情况。默认情况是一个可选的情况。只有在所有其他开关案例都被编码后才能声明。
在以下示例中,当得分不是 1 或 2 时,使用默认情况。
public class switchExample {
int score = 4;
public static void main(String args[]) {
switch (score) {
case 1:
system.out.println("Score is 1");
break;
case 2:
system.out.println("Score is 2");
break;
default:
system.out.println("Default Case");
}
}
}
Q14、所有类派生的 Java 基类是什么?
Ans:java.lang.object
Q15、Java 中的 main()方法可以返回任何数据吗?
Ans:在 java 中,main()方法不能返回任何数据,因为它总是以 void 声明返回类型。
关注公众号:「Java知己」,每天更新Java知识哦,期待你的到来!
- 发送「1024」,免费领取 30 本经典编程书籍。
- 发送「Group」,与 10 万程序员一起进步。
- 发送「JavaEE实战」,领取《JavaEE实战》系列视频教程。
- 发送「玩转算法」,领取《玩转算法》系列视频教程。

JAVA面试问题与解答(1-15)的更多相关文章
- Java面试:投行的15个多线程和并发面试题
多线程和并发问题已成为各种 Java 面试中必不可少的一部分.如果你准备参加投行的 Java 开发岗位面试,比如巴克莱银行(Barclays).花旗银行(Citibank).摩根史坦利投资公司(Mor ...
- Java面试:投行的15个多线程和并发面试题(转)
多线程和并发问题已成为各种 Java 面试中必不可少的一部分.如果你准备参加投行的 Java 开发岗位面试,比如巴克莱银行(Barclays).花旗银行(Citibank).摩根史坦利投资公司(Mor ...
- 转:最近5年133个Java面试问题列表
最近5年133个Java面试问题列表 Java 面试随着时间的改变而改变.在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来 ...
- JAVA面试精选【Java基础第一部分】
这个系列面试题主要目的是帮助你拿轻松到offer,同时还能开个好价钱.只要能够搞明白这个系列的绝大多数题目,在面试过程中,你就能轻轻松松的把面试官给忽悠了.对于那些正打算找工作JAVA软件开发工作的童 ...
- 近5年133个Java面试问题列表
Java 面试随着时间的改变而改变.在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来越高级,面试官问的问题也更深入. 在我 ...
- JAVA面试精选
JAVA面试精选[Java基础第一部分] 这个系列面试题主要目的是帮助你拿轻松到offer,同时还能开个好价钱.只要能够搞明白这个系列的绝大多数题目,在面试过程中,你就能轻轻松松的把面试官给忽悠了.对 ...
- Java 面试宝典-2017
http://www.cnblogs.com/nelson-hu/p/7190163.html Java面试宝典-2017 Java面试宝典2017版 一. Java基础部分........... ...
- Java面试宝典-2017
Java面试宝典2017版 一. Java基础部分........................................................................... ...
- Java面试宝典2018
转 Java面试宝典2018 一. Java基础部分…………………………………………………………………………………….. 7 1.一个“.java”源文件中是否可以包括多个类(不是内部类)?有什么限制 ...
随机推荐
- iOS项目之多Targets和多环境配置
项目中使用的同一套代码,但需要开发多个app,app中内容基本上相同,只有一些小小的区别,例如名称等等,每个app中又需要分开发环境(Dev).测试环境(Test).正式环境(Pro). 下面就开始搭 ...
- (二十四)c#Winform自定义控件-单标题窗体
前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. 开源地址:https://gitee.com/kwwwvagaa/net_winform_custom_control ...
- grep文本搜索工具详解
############grep命令############这个命令属于文本处理三大命令之一,强大的文本搜索工具(贪婪模式)全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达 ...
- Flask框架(二)—— 反向解析、配置信息、路由系统、模板、请求响应、闪现、session
Flask框架(二)—— 反向解析.配置信息.路由系统.模板.请求响应.闪现.session 目录 反向解析.配置信息.路由系统.模板.请求响应.闪现.session 一.反向解析 1.什么是反向解析 ...
- bootstrap-datetimepicker时间插件使用
html头部引入相关的js和css <link rel="stylesheet" type="text/css" href="css/boots ...
- 12.源码分析—如何为SOFARPC写一个序列化?
SOFARPC源码解析系列: 1. 源码分析---SOFARPC可扩展的机制SPI 2. 源码分析---SOFARPC客户端服务引用 3. 源码分析---SOFARPC客户端服务调用 4. 源码分析- ...
- 用Canvas实现Photoshop的钢笔工具(贝塞尔曲线)
前两天在用Canvas实现一个绘制路径的小功能.做完之后发现加以完善可以“复刻”一下PS里面的钢笔工具. PS里的钢笔工具对我来说是PS中最好用的工具! 所以本文主要介绍如何用Canvas来实现Pho ...
- 良许 | 命令的输出不会保存?居然连 tee 命令都不会用!
很多情况下,我们需要保存程序/命令的输出到本地,常用的一种方法是重定向,这也是一种很好的方法.但有个问题,如果你想要做后续操作,比如要统计输出的行数等,重定向就有困难了. 这时候,tee 命令就派上用 ...
- JDBC、Tomcat为什么要破坏双亲委派模型?
问题一:双亲委派模型是什么 如果一个类加载器收到了加载某个类的请求,则该类加载器并不会去加载该类,而是把这个请求委派给父类加载器,每一个层次的类加载器都是如此,因此所有的类加载请求最终都会传送到顶端的 ...
- Flac无损音频导入premiere
安装Ogg Vorbis插件即可导入FLAC音频 项目地址:https://github.com/fnordware/AdobeOgg 下载地址:http://www.fnordware.com/do ...