能作用于 swtich。
10、编程题:写一个 Singleton
答: public class Singleton { private Singleton(){} private static Singleton instance = new Singleton(); public static Singleton getInstance() { return instance; } } 第二种形式: public class Singleton { private static Singleton instance = null; public static synchronized Singleton getInstance() { if (instance==null) instance=new Singleton(); return instance; } }
11、float型float f=3.4是否正确?
答:不正确。精度不准确,应该用强制类型转换,正确处理如下:float f=(float)3.4 或 float f = 3.4f 。 在 java 里面,没小数点的常量默认是 int;有小数点的常量默认是 double。
12、写一个方法,实现字符串的反转,如:输入 abc,输出 cba
解:答案如图:
13、char型变量中能不能存储一个中文汉字?为什么?
答:可以。JAVA 默认的编码是 UNICODE.不是 ASCII 的 char。测试用例如下:
package com.bd.zl; public class Test { public static void main(String args[]) { char s = '我'; System.out.print(s); } }
程序运行结果:我,如图所示:
14、String 与 StringBuffer 的区别?
答:String:是对象不是原始类型,为不可变对象,一旦被创建,就不能修改它的值;对于已经 存在的 String 对象的修改都是重新创建一个新的对象,然后把新的值保存进去; String 是 final 类,即不能被继承。StringBuffer:是一个可变对象,当对他进行修改的时候不会像 String 那样 重新建立对象,它只能通过构造函数来建立:StringBuffer sb = new StringBuffer();不能通过 付值符号对他进行付值: = "welcome to here!"; sb 对象被建立以
后,在内存中就会分配内存空 间,并初始保存一个 null; StringBuffer 中付值的时候可以通过它的 append 方法。 向 字符串连 接操作中 StringBuffer 的效率要比 String 高:
15、throw 和 throws 有什么不同?
答:throws 是用来声明一个方法可能抛出的所有异常信息;throw 则是指抛出的一个具体的 异常类型。通常在一个方法(类)的声明处通过 throws 声明方法(类)可能抛出的异常信 息,而在方法(类)内部通过 throw 声明一个具体的异常信息。.对异常处理方式不同.throws 对异常不处理,谁调用谁处理,throws 的 Exception 的取值范围要大于方法内部异常的最大 范围,而 cathch 的范围又要大于 throws 的 Exception 的范围;throw 主动抛出自定义异常类 对象;throws 抛出的是类,throw 抛出的是对象。
16、 “deprecated API” ,是什么意思?
答: “deprecated API”表示 JAVA 开发中不赞成使用的应用程序接口,是 JAVA 早期的应用 程序接口版本,不赞成使用。
17、什么是内部类,内部类在什么情况下应用?
答:可以将一个类的定义置入另一个类中定义,这就叫做“内部类” 。 以下情况下应用内部类:· 只用到类的一个实例。 · 类在定义后马上用到。 · 类非常小(SUN 推荐是在 4 行代码以下) · 给类命名并不会导致你的代码更容易被理解。 (扩展: )在使用匿名内部类时,要记住以下几个原则: · 匿名内部类不能有构造方法。 · 匿名内部类不能定义任何静态成员、方法和类。 · 匿名内部类不能是 public,protected,private,static。 · 只能创建匿名内部类的一个实例。
18、什么是静态自由块,主要有什么作用?
答:声明为 static 属性的代码块就叫做静态自由块。其主要作用:static 代码快可以不用创建 对象来调用,可以直接用类名+方法名来调用.