//面试(java基础)
2016-12-30 13:49
134 查看
Q:Java 面向对象有哪些特征? A:封装、继承、多态。
Q:short s1=1;s1=s1+1 有什么错?
short s1=1;s1+=1;有什么错?
A:第一个是有错的,short 在内存中占 2 个字节,而整数 1 默认为 int 型占 4 个字节,s1+1 其实这个 时候就向上转型为 int 类型了,因此第一行代码必须强转才行。第二个之所以可以是以为这句话翻译过 来就是 s1++,也就是 short 类型的数据自身加增 1,因此不会有问题。
Q:静态成员类、非静态成员类有什么区别?什么是匿名内部类? A:静态成员类相当于外部类的静态成员,是外部类在加载的时候进行初始化,非静态成员类相当于外 部类的普通成员,当外部类创建对象的时候才会初始化。匿名内部一般都是在方法里面直接通过 new ClassName(){};形式的类。比如我们 new Thread(new Runnable(){}).start();就用到了匿名内部类。
Q:abstract class 和 interface 有什么区别? A:前者是抽象类,可以有抽象方法,也可以没有。后者是接口,只能有抽象方法。他们都不能创建对 象,需要被继承。
Q:ArrayList 是不是线程安全的?如果不是,如何是 ArrayList 成为线程安全的? A:不安全的。可以使用 Collections.synchronizedList(list)将 list 变为线程安全的。
Q:heap 和 stack 有什么区别?
A:堆和栈。栈存放对象的引用,堆存放对象实体。堆中的对象是有 jvm 的垃圾回收器负责回收。
Q:short s1=1;s1=s1+1 有什么错?
short s1=1;s1+=1;有什么错?
A:第一个是有错的,short 在内存中占 2 个字节,而整数 1 默认为 int 型占 4 个字节,s1+1 其实这个 时候就向上转型为 int 类型了,因此第一行代码必须强转才行。第二个之所以可以是以为这句话翻译过 来就是 s1++,也就是 short 类型的数据自身加增 1,因此不会有问题。
Q:静态成员类、非静态成员类有什么区别?什么是匿名内部类? A:静态成员类相当于外部类的静态成员,是外部类在加载的时候进行初始化,非静态成员类相当于外 部类的普通成员,当外部类创建对象的时候才会初始化。匿名内部一般都是在方法里面直接通过 new ClassName(){};形式的类。比如我们 new Thread(new Runnable(){}).start();就用到了匿名内部类。
Q:abstract class 和 interface 有什么区别? A:前者是抽象类,可以有抽象方法,也可以没有。后者是接口,只能有抽象方法。他们都不能创建对 象,需要被继承。
Q:ArrayList 是不是线程安全的?如果不是,如何是 ArrayList 成为线程安全的? A:不安全的。可以使用 Collections.synchronizedList(list)将 list 变为线程安全的。
Q:heap 和 stack 有什么区别?
A:堆和栈。栈存放对象的引用,堆存放对象实体。堆中的对象是有 jvm 的垃圾回收器负责回收。
相关文章推荐
- Java(JVM)虚拟机结构基础,和JAR文件包及jar命令详解
- Java动画编程基础第二部分
- 回复:学习java必须有c++基础么?
- (原创) 脚踏实地学Java之:基础篇
- Java 应了解的基础知识(转载)
- 基于Java的动画编程基础
- Java 101之线程基础
- Java Swing入门基础
- Java Swing入门基础 (转)
- Java动画编程基础第一部分
- Java基础之关键字
- 学java也快半年了,一直在看基础的东西,终于决定开始转J2ee了……
- Eclipse基础--java环境变量设置
- 第二讲 Java语言基础知识
- Java动画编程基础第四部分
- JAVA调试技术--基础
- Java初学及基础问题
- JAVA面试基础试题[转贴]
- Java 应了解的基础知识(转载)
- JAVA相关基础知识(1)