//面试(java基础)

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 的垃圾回收器负责回收。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值