黑马程序员-------Java笔记-------常见概念区别

  • ———-android培训、java培训、java学习型技术博客、期待与您交流!——-
  • ==与equals()的区别
    • ==
      • 比较基本类型:比较的是基本类型的值是否相同
      • 比较引用类型:比较的是引用类型的地址值是否相同
    •  equals( ):
      •  比较引用类型,默认比较的是引用类型的地址值是否相同。 如果类重写了该方法,那就得按照重写后的规则进行比较
                                                                                                 
  • Final和finally、finalized的区别
    •  final是个关键字,用来修饰成员变量(此变量就为常量)、成员方法(此方法不能被重写)、类(此类不能被继承)
    •  finally是异常处理的一部分,它里面的代码正常情况下永远被执行
    •  finalizeObject类中定义的,用于垃圾回收,由垃圾回收器调用                                  
  • 数组与集合的区别
    • 数组
      • 长度固定,可存储任意类型的元素,但必须包装元素类型一致
    • 集合
      • 长度可变,用来存储引用类型,元素类型可以不一致
  • 重载与重写的区别
    • 重载
      • 指同一个类中,方法名相同,但参数列表不一样,和返回值类型无关。
    • 重写
      • 指在子父类关系中,子类的方法声明,名称参数列表与父类一样,当功能主体不一样
  • flush()与close()的区别
    • slush()
      • 只是刷新了缓冲区,流对象还存在
    • close()
      • 刷新缓冲区,流对象不存在
  • break与continue的区别
    • break
      • 跳出循环(用于选择和循环结构)
    • continue
      • 结束本次循环,继续下次循环(用于循环结构)
  • String与StringBuffer的区别
    • String
      • 字符串常量,他的值是不可变的
    • StringBufffer
      • 字符串缓冲区的类,他的字符长度是可变的(安全)
  • ++i与i++的区别
    • ++i
      • 先自加再赋值
    • i++
      • 先赋值再自加
  • &与&&的区别
    • &
      • 可作为位运算符,也可以作为逻辑运算符,无论左边是真是假,右边都参与运算
    • &&
      • 逻辑运算符,短路&,如果左边为假,右边将不参与运算
  • 抽象类与接口的区别
    • 成员特点
      • 抽象类
        • 成员变量(或常量),成员方法(抽象或非抽象),构造方法
      • 接口
        • 只有成员常量,成员抽象方法,都有默认修饰符
    • 关系特点
      • 类与类:只能单继承,可以多层继承
      • 类与接口:只有实现,可以多实现
      • 接口与接口:继承,可以多继承
    • 设计理念
      • 抽象类:抽象类被继承,这个类定义的共性的类容
      • 接口:接口被实现,这个接口中定义的是整个类扩展的类容
  • 栈与堆的区别
      • 用于存储局部变量,但数据用完,所占空间会自动释放
      • 凡是通过new建立的实例都放在堆中,没一个实体都会有一个内存地址值,当实体没有具体的指向的时候就会变成垃圾,在不确定的时间被垃圾回收器回收
  • 成员变量与局部变量的区别
    • 位置
      • 成员变量:定义在成员位置,存储在堆中
      • 局部变量:定义在局部位置,存储在栈中
    • 作用域
      • 成员变量:在整个类中有效
      • 局部变量:只在局部位置有效
    • 初始化
      • 成员变量:有默认初始化值
      • 局部变量:必须手动给

你可能感兴趣的:(Java笔记)