谈谈IBM2009校园招聘Java笔试题
只说说几道涉及到我有些遗忘的知识点的题目吧~~
1. 关于final的
一下哪几种声明是正确的?
A: private final int FINAL_INTEGER = 0;
B: private final int FINAL_INTEGER;
{
FINAL_INTEGER = 1;
}
C: private final int FINAL_INTEGER;
static{
FINAL_INTEGER = 1;
}
D: private final int FINAL_INTEGER;
public void test(){
FINAL_INTEGER = 1;
}
E: private final int FINAL_INTEGER = getValue();
private static int getValue(){
return 0;
}
A毫无疑问是正确的,大多数人在初始化final变量的时候也会用这个办法。
而至于B选项和C选项可以一起解释,则需要先知道语句块的作用,一般而言有两种语句块,静态语句块和动态语句块,对于静态语句块,加载类的时候会执行,而对于动态语句块,则会在初始化对象的时候执行。因此B是合法的,而由于静态语句块中不允许使用非静态变量,所以C是不合法的,而至于D则更为明显,不允许修改一个常量,因此D选项错误。最后看看E选项,
相关文档:
Java学习从入门到精通
一、 JDK (Java Development Kit)
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的J ......
1.private修饰方法不能被外部类调用。
2.final修饰的对象构建后不能被修改。
扩展:
final类不能被继承,没有子类,final类中的方法默认是final。
final不能被子类的方法覆盖,但可以被继承。
final成员变量表示常量,只能被赋值一次,赋值后值不再改变。
final不能用于修饰构造方法。
final函数参数无法被改变。
父 ......
InputStream is = new FileInputStream(filename);//通过文件名称读取
或
InputStream is =new ByteArrayInputStream(byte[] a);//通过文件的字节数组读取
BufferedImage buff = ImageIO.read(is);
buff.getWidth(); //得到图片的宽度
buff.getHeight(); //得到图片的高度
is.close(); //关闭Stream ......
话题是由如下的事情引出的: public class StringTest { public static void main(String[] args) { String str1 = new String("abc"); String str2 = "abc"; if (str1 == str2) { ......
很多developer知道java也可能memory leak,关于这个主题已经有很多文章了。我这里只想分享一下自己的memory leak的经验。
说明一下这里指的memory leak是程序不及时释放heap导致的OutOfMemoryError.
首先一种情况是collection或者是map一直被put数据,没有机会remove,导致OutOfMemoryError。尤其是当collection或者是map ......