基础面试题Ⅱ
1、抽象类是否可继承实体类
抽象类可继承实体类,但前提是实体类必须有明确的构造函数。
2、一些常用的类,包,接口
常用的类:BufferedReader BufferedWriter FileReader FileWirter String Integer
常用的包:java.lang java.awt java.io java.util java.sql
常用的接口:Remote List Map Document NodeList
3、java 中实现多态的机制是什么
方法的覆盖 Overriding 和重载 Overloading 是 java 多态性的不同表现;覆盖 Overriding 是父类与子类之间多态性的一种表现,重载 Overloading 是一个类中多态性的一种表现。
4、怎样将 GB2312 编码的字符串转换为 ISO-8859-1 编码的字符串
String s1 = "你好";
String s2 = new String(s1.getBytes("GB2312"), "ISO-8859-1");
5、日期和时间
1)如何取得年月日、时分秒?
创建 java.util.Calendar 实例(Calendar.getInstance()),调用其 get()方法传入不同的参数即可获得参数所对应的值,如:
calendar.get(Calendar.YEAR);//获得年
2)如何取得从 1970 年到现在的毫秒数?
以下方法均可获得该毫秒数:
Calendar.getInstance().getTimeInMillis();
System.currentTimeMillis();
3)如何取得某个日期是当月的最后一天?
Calendar time = Calendar.getInstance();
time.set(Calendar.DAY_OF_MONTH,time.getActualMaximum(Calendar.DAY_OF_MONTH));
4)如何格式化日期?
利用 java.text.DataFormat 类中的 format()方法可将日期格式化。
6、JDK 和 JRE 有什么区别
JDK:Java Development Kit 的简称,Java 开发工具包,提供了 Java 的开发环境和运行环境。
JRE:Java Runtime Environment 的简称,Java 运行环境,为 Java 的运行提供了所需环境。
具体来说 JDK 其实包含了 JRE,同时还包含了编译 Java 源码的编译器 Javac,还包含了很多 Java 程序调试和分析的工具。简单来说:如果你需要运行 Java 程序,只需安装 JRE 就可以了,如果你需要编写 Java 程序,需要安装 JDK。
7、== 和 equals 的区别是什么
对于基本类型和引用类型 == 的作用效果是不同的,如下所示:
基本类型:比较的是值是否相同;
引用类型:比较的是引用是否相同;
equals 本质上就是 ==,只不过 String 和 Integer 等重写了 equals 方法,把它变成了值比较。
== 对于基本类型来说是值比较,对于引用类型来说是比较的是引用;而 equals 默认情况下是引用比较,只是很多类重新了 equals 方法,比如 String、Integer 等把它变成了值比较,所以一般情况下equals 比较的是值是否相等。
8、两个对象的 hashCode() 相同,则 equals() 也一定为 true,对吗
不对,两个对象的 hashCode() 相同,equals() 不一定 true。因为在散列表中,hashCode() 相等即两个键值对的哈希值相等,然而哈希值相等,并不一定能得出键值对相等。
9、final 在 Java 中有什么作用
final 修饰的类叫最终类,该类不能被继承。
final 修饰的方法不能被重写。
final 修饰的变量叫常量,常量必须初始化,初始化之后值就不能被修改。
10、Java 中 IO 流分为几种
按功能来分:输入流(input)、输出流(output)。
按类型来分:字节流和字符流。
字节流和字符流的区别是:字节流按 8 位传输以字节为单位输入输出数据,字符流按 16 位传输以字符为单位输入输出数据。

浙公网安备 33010602011771号