background image

*** JAVA 面试题. *** 
1
、作用域 public,private,protected,

 

以及不写时的区别

 

答:区别如下:

  

  

作用域 当前类 同一 package  

  

 

子孙类 其他 package   

public  √  √  √  √   
protected  √  √  √  ×   
friendly  √  √  ×  ×   
private  √  ×  ×  × 
不写 时默认为 friendly2  

、 Anonymous Inner Class (匿名内部 类 )  是否可以 extends(

)其它类,
是否可以 implements(实现)interface(接口
答:匿名的内部类是没有名字的内部类。不能 extends(继承)  其它类,但一个内部类
可以作

 

为一个接口,由另一个内部类

 

实现
3Static Nested Class  

  

和 Inner Class

 

的不同

答:Nested Class (一般是 C++的说法),Inner Class (一般是 JAVA 的说法)Java 
部类与 C++

 

嵌套类最大的不同就在于

  

是否有指向外部的引用上。注: 静态内部类(Inner Class)意味着 创建一个 static
内部类

 

的对象,不需要一个外部类对
象,不能从一个 static

 

内部类的一个对象访问一个外部类对象

4&&&

 

的区别

答:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and  

5Collection  

  

和 Collections

 

的区别

答:Collection

 

是集合类的上级接口,继承与他的接口主要有 Set  和 List. 

Collections 是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的
搜索、排

 

序、线程安全化等操作
6、什么时候用 assert 

 

答: assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持
这种机制。
在实现中,assertion

 

就是

 

在程序中的一条语句,它对一个 boolean 表达式进行检查,一个正确程序必须保证
这个
boolean

 

表达式的值为 true

 

;如果该

值为 false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,
 assertion

 

用于保证程序最基本、关
键的正确性。assertion 检查通常在开发和测试时开启。为了提高性能,在软件发布后,
assertion

 

检查通常是关闭的

7String s = new String("xyz");创建了几个 String Object 

 

答:两个,一个字符对象,一个字符对象引用对象