JavaSE学习笔记——day15——封装,继承,多态

day15

1、封装

封装的定义

封装是把对象的所有组成部分组合在一起,封装使用访问控制符将类的数据隐藏起来,控制用户对类的修改和访问数据的程度。

封装的作用

适当的封装可以让代码更容易理解和维护,也加强了代码的安全性。

1.1软件包机制

1.2权限控制

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f3LuR2ba-1622966290510)(C:\Users\16070\AppData\Roaming\Typora\typora-user-images\image-20210605175149200.png)]

2、继承

2.1继承的定义

从类中派生出新的类,新的类能拥有已有类的属性和行为。并且话可以扩展新的属性和行为。

2.2继承的目的

代码的重用

2.3继承的特点

1 java中只支持单继承,一个类只能有一个父类,但是一个类可以拥有多个子类

2 private修饰的属性,不能继承

3 使用extends关键字表示
class 子类名 extends 父类名{}

4 如果一个类没有显示继承另一个类,则该类默认继承 Object (java.lang.Object)
Object是java提供的根类(祖宗)
任何类都直接或者间接继承 Object

3、Super

3.1Super的作用

super : 保存了父类型特征,可以理解为是父类对象

1 区分子类和父类同名的变量和方法

2 super(…) 只能用在子类构造方法第一行,用来调用父类构造方法

this(…) 也是必须在构造方法第一行,所以 this()和super() 不能同时出现

如果构造方法中没有this() 也没有 super() 则 构造方法第一行默认有super() 调用父类无参构造

注意:私有化构造方法之后,该类不能被继承,因为子类构造方法中需要用到super() 去调用父类构造

4、Override

4.1什么情况下需要重写?

当父类方法功能无法满足子类需求的时候,需要对父类方法,进行重写

4.2重写的条件

​ 有继承关系的体系中

​ 方法名相同,参数列表相同,返回值相同

​ 权限要大于等于原方法

​ 不能比原方法拥有更广泛的异常

​ 特指成员方法,和别的无关

5、final

final:修饰符,表示最终的

final修饰的类,不能被继承

final修饰的成员方法, 不能被覆写

fianl修饰的变量,没有默认值,并且不能二次赋值,必须显式赋值

常量 : 一般使用 public static final修饰 psf,整个程序生命周期 值不能被更改

常量建议命名全部大写

6、多态

多态:父类引用,指向子类对象

父类引用 : 使用父类声明的引用类型变量

指向 : 通过内存地址 可以找到谁

使用父类类型 声明的变量 保存子类对象的引用

父类 变量 = new 子类();

java中提供了两种多态形式

1 编译时多态

编译时多态是静态的,主要是指方法重载,他是根据不同的参数列表来区分不同的方法,

编译之后就会变成不同的方法,在运行时,就谈不上多态了,只是不同的两个方法而已

2 运行时多态

运行时多态是动态的,主要是指动态绑定来实现,指子类实现父类的方法

软件设计六大原则 :

单一职责原则 : 功能职责单一,只拥抱一种变化

里氏替换原则 : 所有能使用父类的地方,都可以使用子类

依赖倒置原则 : 细节依赖抽象

接口隔离原则 : 最小接口,否则需要实现很多不需要的方法

迪米特原则 : 最少朋友原则,低耦合,高内聚

开闭原则 : 对修改关闭,对扩展开放

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值