面试题首页 > Java基础面试题

Java常用类面试题

001介绍一下Object类中的方法?

Object类提供了如下几个常用方法:
Class<?> getClass():返回该对象的运行时类。
boolean equals(Object obj):判断指定对象与该对象是否相等。
int hashCode():返回该对象的hashCode值。在默认情况下,Object类的hashCode()方法根据该对象的地址来计算。但很多类都重写了Object类的hashCode()方法,不再根据地址来计算其hashCode()方法值。
String toString():返回该对象的字符串表示,当程序使用System.out.println()方法输出一个对象,或者把某个对象和字符串进行连接运算时,系统会自动调用该对象的toString()方法返回该对象的字符串表示。Object类的toString()方法返回 运行时类名@十六进制hashCode值 格式的字符串,但很多类都重写了Object类的toString()方法,用于返回可以表述该对象信息的字符串。
另外,Object类还提供了wait()、notify()、notifyAll()这几个方法,通过这几个方法可以控制线程的暂停和运行。Object类还提供了一个clone()方法,该方法用于帮助其他对象来实现“自我克隆”,所谓“自我克隆”就是得到一个当前对象的副本,而且二者之间完全隔离。由于该方法使用了protected修饰,因此它只能被子类重写或调用。

002为什么要重写hashCode()和equals()?

Object类提供的equals()方法默认是用==来进行比较的,也就是说只有两个对象是同一个对象时,才能返回相等的结果。而实际的业务中,我们通常的需求是,若两个不同的对象它们的内容是相同的,就认为它们相等。鉴于这种情况,Object类中equals()方法的默认实现是没有实用价值的,所以通常都要重写。

003Object类中finalize()方法作用?

垃圾回收器回收对象前,会调用此方法,可以在此方法中做释放资源等清理操作

004System.gc() 和 Runtime.gc() 作用?

这两个方法用来提示 JVM 要进行垃圾回收。但是,立即开始还是延迟进行垃圾回收是取决于 JVM 的。

005如何格式化日期?

利用 java.text.DataFormat 的子类(如 SimpleDateFormat 类)中的 format(Date)方法可将日期格式化。

006打印昨天的当前时刻。

参考如下源代码:

public class YesterdayCurrent{
    public static void main(String[] args){
        Calendar cal = Calendar.getInstance();
        cal.add(Calendar.DATE, -1);
        System.out.println(cal.getTime());
    }  
}

007如何在Java中生成随机数?

使用Math.random()可以生成0.1到1.0范围内的随机数字,然后通过数学方法实现生成 符合要求的随机数。

008什么是内部类?

在Java中,可以将一个类的定义放在另外一个类的定义内部,这就是 内部类 。内部类本身就 是类的一个属性,与其他属性定义方式一致。

009内部类的分类有哪些?

内部类可以分为四种: 成员内部类、局部内部类、匿名内部类和静态内部类 。

010内部类可以引用它的包含类(外部类)的成员吗?有没有什么限制

一个内部类对象可以访问创建它的外部类对象的成员,包括私有成员。

011Anonymous Inner Class(匿名内部类)是否可以继承其它类?是否可以 实现接口

可以继承其他类或实现其他接口,在 Swing 编程中常用此方式来实现事件监听和回调

目录

返回顶部