一、访问修饰符(P279)
1. 基本介绍
java提供四种访问控制修饰符号,用于控制方法和属性(成员变量)的访问权限(范围):
(1)公开级别:用 public 修饰,对外公开
(2)受保护级别:用 protected 修饰,对子类和同一个包中的类公开
(3)默认级别:没有修饰符号,向同一个包的类公开
(4)私有级别:用private修饰,只有类本身可以访问,不对外公开
2. 访问修饰符的访问范围
3. 访问修饰符的注意事项
(1)修饰符可以用来修饰类中的属性,成员方法以及类
(2)只有默认的和public才能修饰类!并且遵循上述访问权限的特点
(3)成员方法的访问规则和属性一致
二、面向对象编程三大特征
面向对象编程有三大特征:封装、继承和多态。
1. 封装
封装,是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
2. 继承
共性抽取
(1) 子类继承了所有的属性和方法,非私有的属性和方法可以在子类直接访问,但是私有属性和方法不能在子类直接访问,要通过父类提供公共的方法去访问(2) 子类必须调用父类的构造器, 完成父类的初始化
(3)当创建子类对象时,不管使用子类的哪个构造器,默认情况下总会去调用父类的无参构造器,如果父类没有提供无参构造器,则必须在子类的构造器中用
super 去指定使用父类的哪个构造器完成对父类的初始化工作,否则,编译不会通过
(4) 如果希望指定去调用父类的某个构造器,则显式的调用一下 : super( 参数列表 )(5)super 在使用时,必须放在构造器第一行 (super 只能在构造器中使用 )(6)super() 和 this() 都只能放在构造器第一行,因此这两个方法不能共存在一个构造器(7)java 所有类都是 Object 类的子类 , Object 是所有类的基类(8) 父类构造器的调用不限于直接父类!将一直往上追溯直到 Object 类 ( 顶级父类 )(9) 子类最多只能继承一个父类 ( 指直接继承 ) ,即 java 中是单继承机制。(10) 不能滥用继承,子类和父类之间必须满足 is-a 的逻辑关系
3. super 关键字
super 代表父类的引用,用于 访问 父类 的属性、方法、构造 器
4. 方法重写/覆盖(override)
(1)子类的方法的形参列表、方法名称要和父类方法的形参列表、方法名称完全一样。
(2)子类方法的返回类型和父类方法返回类型一样,或者是父类返回类型的子类
(3)子类方法不能缩小父类方法的访问权限
5. 多态
一个方法可以有多种实现版本,即“一种定义, 多种实现”。 多态是建立在封装和继承基础之上的。
5.1 多态的具体体现
(1) 方法的多态重写和重载就体现多态
(2) 对象的多态