java最全面试题及答案_2020最全Java面试题以及答案解析 PDF 下载

主要内容:

Java 面向对象

1.super()与 this()的区别?

This():当前类的对象,super 父类对象。

Super():在子类访问父类的成员和行为,必须受类继承规则的约束而 this 他代表当前对象,当然所有的资源都可以访问.

在构造函数中,如果第一行没有写 super(),编译器会自动插入.但是如果父类没有不带参数的构造函数,或这个函数被私有化了(用 private 修饰).此时你必须加入对父类的实例化构造.而 this 就没有这个要求,因为它本身就进行实例化的构造.

而在方法中 super 和 this 使用的方法就差不多了.只不过 super 要考虑是否能访问其父类的资源.

2.作用域 public,protected,private,以及不写时的区别?

Public:不同包、同一包、类内都可用

Private:类内

Protected: 不同包的子类、同一包、类内都可用

不写时:同一包内、类内

3.编程输出如下图形。

** * * *

** * *

** *

**

*

代码如下:

public class Print {

public static void main(String[] args) { for (int i = 0; i < 5; i++) {

for (int j = 5; j > i; j--) {

System. out.print("*");

}

System. out.println();

}

}

}

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

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

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

5.在 JAVA 中,如何跳出当前的多重嵌套循环?

用 break; return 方法。

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

序列化:

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

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

- 6 -

java 面试题

序列化的实现:

将需要被序列化的类实现 Serializable 接口,该接口没有需要实现的方法, implements Serializable 只是为了标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造一个 ObjectOutputStream(对象流)对象,接着,使用 ObjectOutputStream 对象的 writeObject(Object obj)方法就可以将参数为 obj 的对象写出(即保存其状态),要恢复的话则用输入流。

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

可以。如果这个类的修饰符是 public,其类名与文件名必须相同。

8.排序都有哪几种方法?请列举。用 JAVA 实现一个快速排序?

排序的方法有:插入排序(直接插入排序、希尔排序),交换排序(冒泡排序、快速排序),选择排序(直接选择排序、堆排序),归并排序,分配排序(箱排序、基数排序)快速排序的伪代码。

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

方法的

重写 Override,子类覆盖父类的方法,将子类传与父类的引用调用的还是子类的方法。

重载 Overloading 一个类多个方法,名称相同,参数个数类型不同。

两者都是 Java 多态性的不同表现。

Overloaded 的方法是可以改变返回值的类型。

1, public class Ctest()

{

Public static void main()

{

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

}

}

168888

10.Final 类有什么特点?

属性常量

方法不可以 overridding

类不可以继承

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值