1.int 和 Integer 有什么区别
int 是基本数据类型;
Integer 是其包装类,注意是一个类。
在 java 中包装类,用途比较多的是用在于各种数据类型的转化中。
2.重载和重写的区别
- 参数类型、个数、顺序至少有一个不相同。
- 不能重载只有返回值不同的方法名。
- 存在于父类和子类、同类中。
- 方法名、参数、返回值相同。
- 子类方法不能缩小父类方法的访问权限。
- 存在于父类和子类之间。
- 方法被定义为 final 不能被重写。
3.equals 与 == 的区别
-
“==”:比较基本数据类型的时候是比较值是否相等,比较引用数据类型的时候是比较引用地址是否相等。
-
“equals”:默认情况下是比较引用地址是否相等,只不过是很多类重写了"equals"方法导致进行值比较。
4.抽象类和接口的异同
接口和抽象类的相同点:
1.都不能被实例化。
2.接口的实现类或者抽象类的子类都只有实现了接口或者抽象类中的方法后才能被实例化。
接口和抽象类的不同点:
1.接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的;
2.实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法,一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现;
3.接口可以实现多重继承,而一个类只能继承一个超类,但可以通过继承多个接口 实现多重继
承;
4.接口还有标识(里面没有任何方法,如 Remote 接口)和数据共享(里面的变量全是常 量)的作
用。
5.String, Stringbuffer, StringBuilder 的区别。
String 字符串常量,字符串长度不可变。
StringBuffer 字符串变量(线程安全)速度慢。
StringBuilder 字符串变量(非线程安全)速度快。
具体区别:
1.String的内容不可修改,StringBuffer与StringBuilder的内容可以修改.
2.StringBuffer与StringBuilder大部分功能是相似的
3.StringBuffer采用同步处理,属于线程安全操作;而StringBuilder未采用同步处理,属于线程不安全操作。