【Java笔记】面向对象之封装与继承+重载与重写

1、包的作用与用法
2、访问控制初步认识 封装
3、继承
4、重载与重写

1、包的作用和用法

打包的语法格式为:
package 包名1[.包名2[.包名3……]];
在该语法中,包名可以设置多个,包名和包名之间使用“.”进行分割,包名的个数没有限制。其中前面的包名包含后面的包名
引入包的语法格式为:
import 包名1.[.包名2[.包名3……]].类名|*;

2、封装(通过访问修饰符实现)

目的:通过封装让类的成员“该看到的让人看到,不该看到的就不让人看到。”【Java笔记】面向对象之封装与继承+重载与重写_第1张图片
说明:同一package可以理解为在同一个村庄
public 可以理解为无论是否在一个村,谁都可以访问
protected 可以理解为,只有自己一个村的邻居和子女,以及远嫁出去的子女可以访问
default 可以理解为,只有自己同村的可以范围,如果子女和自己是同村,也可以使用。如果子女远嫁出去,不在自己的村庄了,很抱歉,远水解不了近渴,远亲不如近邻。
private 可以理解为 私有财产不可侵犯,有些事情,除了自己,绝不能让其他人访问,例如银行密码。【Java笔记】面向对象之封装与继承+重载与重写_第2张图片

3、继承(extends)

继承原则
子类继承父类的成员变量。
子类不能继承父类的构造方法,但能继承父类除构造方法以外的成员方法。
子类可以增加成员,可以重定义从父类继承来的成员,但不能删除它们,即java的覆盖机制。

子类构造函数的实现:通过第一行添加关键字super()实现。super所代指的父类构造函数父类中必须存在,需要注意的是不写super代表调用父类无参构造函数(具体解释见【Java复习笔记】面向对象之类与对象)

两种特殊继承:

是不是所有的类都能够作为父类被继承?有两种特殊的类:抽象类(必须被继承才能够使用),最终类(不能被继承)。
【Java笔记】面向对象之封装与继承+重载与重写_第3张图片

4、重载与重写

override(重写/覆盖)

   1、方法名、参数、返回值相同。

   2、子类方法不能缩小父类方法的访问权限

   3、子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。

   4、存在于父类和子类之间。

   5、方法被定义为final不能被重写。

 overload(重载)

  1、参数类型、个数、顺序至少有一个不相同。

  2、不能重载只有返回值不同的方法名。

  3、存在于父类和子类、同类中。

你可能感兴趣的:(Java)