Java基础小结

Posted on 2019-07-12 16:36  我的单车时尚时尚最时尚  阅读(115)  评论(0编辑  收藏  举报

方法重载和重写

指标 重载重写
类属关系             发生在同一个类中 发生在父子类中
参数列表 参数类型不同|个数不同|顺序不同,返回值和访问修饰符可以不同 参数列表必须相同
方法名称 相同 相同

 

 

 

String StringBuffer StringBuilder区别

 指标StringStringBufferStringBuilder
可变性                不可变(使用final)   可变                         不可变
线程安全性 安全,常量不可变 安全,同步锁 不安全,没有同步锁
性能 每次生成新的对象 ———————— 比StringBuffer高15%

 

 

 

 

三个S的总结:

  1. 使用String操作少量数据

  2. 使用StringBuilder操作单线程字符串缓冲区的大量数据

  3. 使用StringBuffer操作多线程字符串缓冲区的大量数据

==与equals

  • == (判断地址)

    • 基本数据类型 -> 比较值

    • 引用数据类型 -> 比较内存地址

  • equals (两种情况)

    • 覆盖了equals方法,若内容相等,返回true

    • 没有覆盖equals方法,等价与"=="

  • 说明

    • String中的equals方法是被重写过的

Final关键字

  • 修饰变量:如果是基本数据类型的变量,被final修饰则不可更改,如果是引用数据类型,则不能再指向其他的对象

  • 修饰方法:修饰方法的目的之一是为了锁定方法,防止其他类继承该方法所在的类进而修改方法的含义。目的之二是效率,

  • 修饰类:该类不能被继承,final类中的所有成员方法都被隐式地指定为final方法

接口和抽象类的区别

指标 接口抽象类
是否有方法实现        所有方法不能有实现          可以有实现                     
实例变量类型 默认是final 不一定
实现 支持实现多个接口 只能继承一个
实现方法 实现接口的所有方法 不一定
设计层面 行为规范 模版设计

 

 

 

 

 

 

 

 

 

2019-07-12

There's no losing        only learning
There's no falture        only opportunities
There's no problem       only solutions