博主JAVA初学,做了学习到现在一些概念的归类,不全的地方以后补齐,都是个人描述,不足之处敬请指正。
1.String、StringBuffer和StringBuilder的区别
String是常量,不可改变;
StringBuffer 可变,可追加,当频繁追加字符串时使用;线程同步,安全;
StringBuilder 可变,可追加,当频繁追加字符串时使用;线程不同步,不安全,但是操作速度快,优先使用。
2.访问修饰符:访问级别控制越低越好,一般属性由private修饰,方法由public修饰。
private——本类使用
friend——同包使用
protected——同包可用,非同包子类可用
public——均可使用
3.重写和重载:
重写只在子类中,方法名相同,参数表相同,返回值相同,访问修饰不能比父类更严格;
重载则在同类中,方法名相同但是参数表不同,与返回值和访问修饰无关。
4.接口和抽象类的区别:
接口支持多继承,抽象类不支持
接口里边不能有已经实现的方法
接口里边的变量都是静态常量
抽象类需要符合真实世界的映射,而接口关注的是功能