失效链接处理 |
Java常用面试题 PDF 下载
本站整理下载:
相关截图:
主要内容:
①Java基础部分(直说重点部分)
1、 "=="和 equals 方法究竟有什么区别?
==如果判断值类型的话,判断内容是否相同。如果判断引用类型则是判断内存地址是否相同
2、静态变量和实例变量的区别?
静态变量使用时,通过类名.名称,实例变量必须要初始化后才能使用。实例变量是实例化后才会分配空间,而静态变量当类加载时会分配空间。
3、是否可以从一个 static 方法内部发出对非 static 方法的调用?
非static方法可以访问static方法.
static方法不能访问非static方法
4、Integer 与 int 的区别
Integer 是引用类型,默认值是null。而int是是值类型默认值是0
5、请说出作用域 public, private, protected,以及不写时的区别
这四个作用域的可见范围如下表所示。
说明:如果在修饰的元素上面没有写任何访问修饰符,则表示 friendly。
作用域 当前类 同一包( package) 子孙类 其他包( package)
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ × × ×
6、重载与重写区别?
重载是同一个类中,方法名称相同, 但是参数或个数不同。与返回值没有关系。
重写是在多个类中, 产生继承关系。父类与子类的方法必须相同。
7、接口与抽象类的区别?
区别:定义接口的关键字是:interface 而定义抽象类的关键字是:abstract。
接口中成员不能有私有, 抽象类可以。
接口中定义的成员, 是finl public static 类型, 抽象类没有。
接口中的不能有普通方法, 抽象类中可以。
相同:
两个都不new
但是 接口与抽象类是面向对象必备知识,设计模式、重构代码有必然作用
8、 final, finally, finalize 的区别。
final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
内部类要访问局部变量,局部变量必须定义成 final 类型,例如,一段代码……
finally 是异常处理语句结构的一部分,表示总是执行。
finalize 是 Object 类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可
以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。 JVM 不保证此方法总被
调用
|