Java笔试面试题汇总

2019-08-30 12:59

Java笔试面试题: 1.类的定义格式:

[修饰符] class 类名{ 类的主体; }

2.方法声明的基本格式:

[修饰符] 返回值类型 方法名(参数类型 参数名, ...){ 定义变量; 定义方法; }

3.局部变量与成员变量的区别:成员变量有默认值,而局部变量没有;

4.Java的判断条件结果必须是一个布尔值;

5.this关键字和super关键字分别代表什么?以及他们各自的使用场景和作用。

this:代表当前类的对象引用

super:代表父类存储空间的标识。(可以理解为父类的引用,通过这个东西可以访问父类的成员)

应用场景:

A:调用成员变量

this.成员变量 调用本类的成员变量 super.成员变量 调用父类的成员变量 B:调用构造方法

this(...) 调用本类的构造方法 super(...) 调用父类的构造方法 C:调用成员方法

this.成员方法 调用本类的成员方法 super.成员方法 调用父类的成员方法

6.权限修饰符:

本类 同一个包下(子类和无关类) 不同包下(子类) 不同包下(无关类) private Y

默认 Y Y

protected Y Y Y

public Y Y Y Y

JAVA的事件委托机制和垃圾回收机制:

java 事件委托机制的概念,一个源产生一个事件并将它送到一个或多个监听器那里。在这种方案中, 监听器简单的等待, 直到它收到一个事件。 一旦事件

被接受, 监听器将处理这个事件,然后返回。

垃圾回收机制 垃圾收集是将分配给对象但不再使用的内存回收或释放的过程。如果一个对象没有指向它的引用或者其赋值为null,则次对象适合进行垃圾回收

7.控制跳转语句: break:中断 continue:继续 return:返回

break:中断的意思 使用场景:

A:switch语句中 B:循环语句中。

(循环语句中加入了if判断的情况) 注意:离开上面的两个场景,无意义。

如何使用呢?

A:跳出单层循环 B:跳出多层循环

要想实现这个效果,就必须知道一个东西。带标签的语句。 格式:

标签名: 语句 wc:for(int x=0; x<3; x++) {

nc:for(int y=0; y<4; y++) { if(y == 2) { break wc; }

System.out.print(\ }

System.out.println(); }

continue:继续

使用场景:

循环中。离开此场景无意义。

测试,找到和break的区别: break:跳出单层循环

continue:跳出一次循环,进入下一次的执行

练习题:

for(int x=1; x<=10; x++) {

if(x%3==0) {

//在此处填写代码 }

System.out.println(“Java基础班”); }

我想在控制台输出2次:“Java基础班“ break;

我想在控制台输出7次:“Java基础班“ continue;

我想在控制台输出13次:“Java基础班“ System.out.println(“Java基础班”);

return:返回

其实它的作用不是结束循环的,而是结束方法的。

8.什么是 java序列化,如何实现 java序列化? (写一个实例) 序列化:

可以将一个对象保存到一个文件, 所以可以通过流的方式在网络上传输, 可以将文件的内容读取,转化为一个对象。

处理对象流的机制, 所谓对象流也就是将对象的内容进行流化。 可以对流化后的对象进行读写操作, 也可将流化后的对象传输于网络之间。 序列化是为了解决在对对象流进行读写操作时所引发的问题。 序列化的实现:

将需要被序列化的类实现 Serializable 接口,该接口没有需要实现的方法, implements Serializable只是为了标注该对象是可被序列化的,然后使用一个输出流 (如: FileOutputStream)来构造一个ObjectOutputStream(对象流)对象,接着,使用

ObjectOutputStream对象的writeObject(Objectobj)方法就可以将参数为obj的对象写出(即保存其状态),要恢复的话则用输入流。

9.一个\源文件中是否可以包括多个类(不是内部类)?有什么限制? 可以。如果这个类的修饰符是public,其类名与文件名必须相同

10.方法重写(Override)和方法重载(Overload)的区别?方法重载能改变返回值类型吗?

Override:方法重写也称方法覆盖 Overload:方法重载

方法重写:

在子类中,出现和父类中一模一样的方法声明的现象。

方法重载:

同一个类中,出现的方法名相同,参数列表不同的现象。 方法重载能改变返回值类型,因为它和返回值类型无关。

子类对象调用方法的时候:先找子类本身,再找父类。

方法重写的应用:

当子类需要父类的功能,而功能主体子类有自己特有内容时,可以重写父类中的方法。

这样,即沿袭了父类的功能,又定义了子类特有的内容。

方法重写的注意事项

A:父类中私有方法不能被重写

因为父类私有方法子类根本就无法继承 B:子类重写父类方法时,访问权限不能更低 最好就一致

C:父类静态方法,子类也必须通过静态方法进行重写

其实这个算不上方法重写,但是现象确实如此,至于为什么算不上方法重写,多态中我会讲解

子类重写父类方法的时候,最好声明一模一样。 11.看程序写结果

字符串数据和其他数据做+,结果是字符串类型。 这里的+不是加法运算,而是字符串连接符。

System.out.prinln(8+8+”88”+8+8); //168888

12.final:最终的意思。常见的是它可以修饰类,方法,变量。 final修饰局部变量的问题

基本类型:基本类型的值不能发生改变。

引用类型:引用类型的地址值不能发生改变,但是,该对象的堆内存的值是可以改变的。

final修饰变量的初始化时机

A:被final修饰的变量只能赋值一次。 B:在构造方法完毕前。(非静态的常量)

继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么? 父类: 13. package test; public class FatherClass{ public FatherClass(){ System.out.println(\); } } 子类:

package test; import test.FatherClass; public class ChildClass extends FatherClass{ public ChildClass(){

System.out.println(\); }

public static void main(String[] args){ FatherClass fc = new FatherClass();

ChildClass cc = new ChildClass(); } }

输出结果:

FatherClass Create FatherClass Create ChildClass Create

14.内部类的实现方式? 答: 示例代码如下:

public class OuterClass{

private class InterClass{ public InterClass(){

System.out.println(\); } }

public OuterClass(){

InterClass ic = new InterClass();

System.out.println(\); }

public static void main(String[] args){ OuterClass oc = new OuterClass(); } }

输出结果:

InterClass Create OuterClass Create

15.如在 Collection框架中, 实现比较要实现什么样的接口?

Collection框架中实现比较要实现Comparable 接口和 Comparator 接口


Java笔试面试题汇总.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:广东省关于〈幼儿园收费管理暂行办法〉的实施细则和《广东省关于

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: