如题?

解决方案 »

  1.   

    的。它是在 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注: 静态内部类(InnerClass)意味着1、创建一个static内部类的对象,不需要一个外部类对象,2、不能从一个static内部类的一个对象访问一个外部类对象四,&和&&的区别。&是位运算符。&&是布尔逻辑运算符。五,HashMap和Hashtable的区别。都属于Map接口的类,实现了将惟一键映射到特定的值上。 HashMap 类没有分类或者排序。它允许一个 null键和多个 null 值。 Hashtable 类似于 HashMap,但是不允许 null 键和 null 值。它也比HashMap 慢,因为它是同步的。六,Collection 和 Collections的区别。Collections是个java.util下的类,它包含有各种有关集合操作的静态方法。Collection是个java.util下的接口,它是各种集合结构的父接口。七,什么时候用assert。断言是一个包含布尔表达式的语句,在执行这个语句时假定该表达式为 true。如果表达式计算为false,那么系统会报告一个 AssertionError。它用于调试目的: assert(a > 0); //throws an AssertionError if a <= 0 断言可以有两种形式: assertExpression1 ; assert Expression1 : Expression2 ; Expression1应该总是产生一个布尔值。 Expression2 可以是得出一个值的任意表达式。这个值用于生成显示更多调试信息的String 消息。 断言在默认情况下是禁用的。要在编译时启用断言,需要使用 source 1.4 标记: javac-source 1.4 Test.java 要在运行时启用断言,可使用 -enableassertions 或者 -ea标记。 要在运行时选择禁用断言,可使用 -da 或者 -disableassertions 标记。要在系统类中启用断言,可使用 -esa 或者 -dsa标记。还可以在包的基础上启用或者禁用断言。可以在预计正常情况下不会到达的任何位置上放置断言。断言可以用于验证传递给私有方