1. 抽象类和接口
抽象类和接口的区别
- 抽象类可以有普通成员变量,接口没有
- 抽象类可以有构造方法,接口没有
- 抽象类可以有静态方法,接口没有
- 一个类可以实现多个接口,但只能继承一个抽象类
- 接口可以被多重实现,抽象类只能被单一继承
抽象类和接口的共同点
- 都不能被实例化
- 都能被继承
- 都可以包含方法声明
- 派生类必须实现未实现的方法
2. 静态变量和实例变量的区别
- 静态变量:也叫类变量,属于类。不管该类有多少个实例对象,静态变量在内存的方法区中只有一份拷贝
*实例变量:属于某一实例。需要先创建实例对象,再通过对象访问
3. 装箱和拆箱
自动装箱是指:Java编译器将基本数据类型转换为相对应的封装类。拆箱则反之。
| 基本类型 |
int |
long |
short |
float |
double |
boolean |
char |
byte |
| 封装类型 |
Integer |
Long |
Short |
Float |
Double |
Boolean |
Character |
Byte |
Integer和int的区别
- Integer是int类型的封装类(所以Integer要实例化之后才能使用),而int是Java的八大基本数据类型之一
- Integer的默认值为null,int的默认值为0
补充:
- Integer变量实际上是对一个Integer对象的引用
- Integer变量和int变量作比较时,只要值相等,返回结果就为true
(比较的过程中Java会将Integer自动拆包装为int)
- new Integer()生成的变量和非new Integer()生成的变量相比较时会报false
(因为new生成的变量指向堆中新建的对象,而非new生成的integer变量指向Java常量池中的对象)
posted @
2022-03-29 10:34
George-Hu99
阅读(
44)
评论()
收藏
举报