封装-继承
1. this
- 引用当前对象的成员变量
- 调用当前对象的成员方法
- 只能在构造方法的第一行
- this关键字只能在实例方法和构造方法还有实例初始化时使用
2. 包
- 包的作用
- 存放类
- 防止命名冲突
- 包允许在更广的范围内保护类、数据和方法
java.lang
包下的类不需要导包- 同包下或子包下的类不需要导包
3. 访问修饰符
public
- 公共/公开的,任何地方都能访问
protected
- 受保护的, 同包以及不同包 子类 中能访问
private
- 私有的, 只能在当前类中访问
- (不写)
package-private/package-access
- 包访问权限, 同包中访问
- 修饰类的访问修饰符
public
和package-access
(包访问修饰符)
- 修饰成员、构造的访问修饰符
public
,protected
,包访问修饰符
,private
4. 封装
- 什么是封装
- 封装的实质就是将类的状态(成员变量)、方法等隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息(成员变量)的操作和访问。
- 为什么要封装
- 防止外部直接访问类的内部数据,可以保护数据的安全性。
- 通过限制外部访问,可以更好地控制数据的正确性和完整性。
- 可以隐藏类的实现细节,使得类的用户不需要了解内部实现细节,只需要知道如何使用类提供的接口。
- 如何封装
- 修改字段的可见性
- 设置
getter
/setter
方法
5. 包装类【了解】
在java中,为了使基本数据类型也具备面向对象的特征,java提供了包装类,包装类是一种特殊的类,用于将基本数据类型封装成对象。
-
有哪些包装类
boolean Boolean byte Byte short Short int Integer long Long float Float double Double -
默认值是
null
-
自动装箱、自动拆箱
- 进行赋值操作(装箱或拆箱)
- 进行混合运算(拆箱)
- 进行比较运算(拆箱)
- 调用
equals
进行比较(装箱) ArrayList
,HashMap
等集合类添加基础类型数据时(装箱)
6. 继承
- 什么是继承
- 继承是软件可重用性的一种表现,新类可以在不增加自身代码的情况下,通过从现有类中继承其属性和方法,来实现充实自身的内容,这种现象或行为就称为继承。继承最基本的作用就是使得代码可以重用。
- 为什么要继承
- 可以解决编程中代码冗余的问题
- 怎么继承
- 子类(派生类)
extendes
父类(基类) - 子类可以添加自己的属性和方法
- 子类可以调用构造方法
- 子类(派生类)
- 继承了什么
- 只要不是 private 修饰都可以被继承, 构造不能被继承。
- 直接继承、间接继承
- 方法重写 (
@Override
)- 继承关系中,子类中有和父类方法同名同参同返回值类型的方法。子类重写了的父类的方法
- 访问权限要相同或变大
- 返回值类型要相同,是同一个类型的. 可以存在继承关系
instanceof
的使用instanceof
是 Java 中的一个关键字,用于判断一个对象是否是指定类的实例或者实现了指定接口。
Object
是所有类的父类【了解】java
类如果没有用extends
去显式的继承一个类,则这个类继承了java.lang.Object
类,Object 类是所有类的 父类 / 基类
- final 的使用
- 被 final 修饰的类不能被继承
- 被 final 修饰的方法不能重写
- 被 final 修饰的变量不能重新赋值,称为 常量. 在声明时就赋值
- 实例化的过程【大的顺序】
- 声明类: 首先,您需要声明一个类,该类包含了要实例化的对象的属性和方法。类是对象的蓝图。
- 使用关键字
new
: 要实例化一个类,使用关键字new
后跟类的构造函数来创建一个新的对象。构造函数是类中的一个特殊方法,用于初始化对象的状态。 - 调用构造函数: 构造函数可能具有参数,这些参数用于初始化对象的属性。在实例化时,调用适当的构造函数并传递必要的参数。
- 获取对象引用: 一旦对象被实例化,可以将它的引用分配给一个变量。通过该变量,您可以操作和访问对象的属性和方法。