## Java基础面试题
1、解释String类两种对象实例化方法的区别
1:直接赋值:只产生一个实例对象,并且自动保存到对象池中,以实现字符串实例的重用
2:构造方法的实例化:产生两个实例对象,无法自动保存到对象池中,无法实现字符串实例的重用,只能通过intern手动入池
2、抽象类与接口的区别
| 区别 | 抽象类 | 接口 |
|---|---|---|
| 定义 | abstarct class 抽象类名称{} | interface 接口类名称 {} |
| 组成 | (构造、普通、静态)方法、全局常量、成员 | 抽象方法、全局常量、普通方法、static方法 |
| 权限 | 可以使用各种权限定义 | 只能够使用public |
| 子类使用 | 子类通过extends关键字可以继承一个抽象类 | 子类使用implements可以实现多个接口 |
| 两者关系 | 抽象类可以实现若干个接口 | 接口不允许继承抽象类,但是允许继承多个父接口 |
| 使用 | 1、抽象类和接口必须定义子类 | 2、子类一定要覆写抽象类或接口中的全部抽象方法 3、通过子类的向上转型实现抽象类或接口的对象实例化 |
接口可以避免抽象类的单继承局限。
本文探讨了Java中创建String对象的两种方式及其内存管理差异,以及抽象类和接口的主要区别。String的直接赋值会自动保存到对象池,而构造方法实例化不会。抽象类可以有方法实现,接口则只能包含抽象方法和全局常量。子类可以继承一个抽象类并实现多个接口,接口之间可以多继承。接口在解决单继承局限性方面发挥作用。
51万+

被折叠的 条评论
为什么被折叠?



