Java面试题和答案
Java面试题(答案)
第一,谈谈final, finally, finalize的差别。
final?修饰符(关键字)如果一个类被声明为final,意味着他不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,能确保他们在使用中不被改动。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载
finally?再异常处理时提供 finally 块来执行所有清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。
finalize?方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。他是在 Object 类中定义的,因此所有的类都继承了他。子类覆盖 finalize() 方法以整理系统资源或执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。
第二,Anonymous Inner Class (匿名内部类) 是否能extends(继承)其他类,是否能implements(实现)interface(接口)?
匿名的内部类是没有名字的内部类。不能extends(继承) 其他类,但一个内部类能作为一个接口,由另一个内部类实现。
第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的非常笼统)。
Nested Class (一般是C++的说法),Inner Class (一般是JAVA的说法)。Java内部类和C++嵌套类最大的不同就在于是否有指向外部的引用上。具体可见http: //www.frontfree.net/articles/services/view.asp?id=704&page=1
注: 静态内部类(Inner Class)意味着1创建一个static内部类的对象,不必一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象
第四,&和&&的差别。
&是位运算符。&&是布尔逻辑运算符。
第五,HashMap和Hashtable的差别。
都属于Map接口的类,实现了将惟一键映射到特定的值上。
HashMap 类没有分类或排序。他允许一个 null 键和多个 null 值。
Hashtable 类似于 HashMap,不过不允许 null 键和 null 值。他也比 HashMap 慢,因为他是同步的。
第六,Collection 和 Collections的差别。
Collections是个java.util下的类,他包含有各种有关集合操作的静态方法。
Collectio
相关文档:
首先在公共类写好数据库连接和关闭方法:
public static Connection getConnection(){
Connection conn = null;
try {
Context ic = new InitialContext();
DataSource source = (DataSource)ic.lookup("java:comp/env/jdbc/ownHome");
conn = source.getConnection();
} catch (NamingExcepti ......
http://www.javaalmanac.com - Java开发者年鉴一书的在线版本. 要想快速查到某种Java技巧的用法及示例代码, 这是一个不错的去处.
http://www.onjava.com - O'Reilly的Java网站. 每周都有新文章.
http://java.sun.com - 官方的Java开发者网站 - 每周都有新文章发表.
http://www.developer.com/java - 由Gamelan.com 维 ......
java Map 遍历速度最优解
第一种:
Map map = new HashMap();
Iterator iter = map.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
Object key = entry.getKey();
Object val = entry.getValue();
}
效率高,以后一定要使用此种方式!
第二种:
Map map = ......
2010-03-18
package javaEcsl;
import java.io.*;
import java.util.*;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
/** */
/**
* <p>
* Title:
* </p>
* <div>Description: Excel数据导入到oracle数据库类. </div>
* <p>
* Copyright: Copyright (c) 200 ......
简单的说:
AWT 是抽象窗口组件工具包,是 java 最早的用于编写图形节目应用程序的开发包。
Swing 是为了解决 AWT 存在的问题而新开发的包,它以 AWT 为基础的。
具体的说就是:
AWT 是Abstract Window ToolKit (抽象窗口工具包)的缩写,这个工具包提供 ......