10.19
学习内容
1.封装类型
Java为每个原始类型提供了封装类。
以整型数据为例。整型数据的简单类型为 int,声明一个整型数据用的是 int。
而 Integer 是一个类。
换句话说,Integer 是一个对象,而 int 只是一个基本数据类型。
见表格
简单类(以 int 为例) | 封装类(以 Integer 为例) |
---|---|
是一个基本数据类型 | 是一个类,也是一个对象 |
默认值为0 | 默认值为 null |
不能区分未赋值和0的区别 | 可以区分未赋值和 0 的区别 |
int a ,a只能用来做基本运算 | Integer b ,b是对象,可以调用方法 |
在堆栈中创建,效率较高 | 对象在堆中创建, 对象的引用在堆栈中创建 |
2.枚举类型enum
枚举类 enum ,跟其他的 class 几乎没有区别,enum 定义的类型就是 class 。但是它有以下几个特点:
- 定义的 enum 类型总是继承自 java.lang.Enum ,且无法被继承;
- 只能定义出 enum 的实例,而无法通过 new 操作符创建 enum 的实例;
- 定义的每个实例都是引用类型的唯一实例;
- 可以将 enum 类用于 switch 语句( enum 类最好用的地方)。
3.extends关键字
用于继承类
例如:
class Cat class Animal{
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2akVJUqH-1634655943551)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]
声明一个类 Cat ,Cat 类是 Animal 类的子类,会继承 Animal 类的所有属性和方法。
4.抽象类
声明
把一个方法声明为 abstract ,表示它是一个抽象方法,本身没有实现任何方法语句。因为这个抽象方法本身是无法执行的。把方法声明为抽象方法的目的是让子类去覆写它。
class Cat {
public abstract void sleep();
}
//无法编译
在 Cat 类中,只有一个抽象方法 sleep() ,该方法无法执行,因此, Cat 类也无法被实例化,因此也无法通过编译。
必须把 Work 类本身也声明为 abstract
,才能正确地编译它。
public abstract class