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