面向对象三大特性

面向对象

三个字形容面向对象思想:指挥者。

封装

封装目的

隐藏事物的属性和具体实现方式,对外提供公共的访问方式。

封装的好处

提高了安全性
隐藏了事物的实现细节
提高代码的复用性

封装的原则

隐藏事物的属性
隐藏事物的实现细节
对外提供公共的访问方式

private关键字

private:私有的
可以修饰的内容:成员变量、成员方法、内部类
修饰之后的后果:只能在本类中访问,在其他类中不可以访问
注:private只是封装其中一个体现,封装还可以通过其他方式完成

getter和setter

当属性被私有化,外界无法直接访问,则需要通过公共的访问方式,让外界可以间接来访问属性。
行业一般规定:get获取属性值,set设置属性值。

this关键字

this:表示当前类型当前对象的引用,哪个来调用this所在的方法,this就代表哪个对象。
作用:可以区分局部变量和成员变量,当变量没有this修饰,则遵循就近原则。
就近原则:当访问某个变量名的时候,会优先寻找最近的访问变量名的定义,如果没有找到就去更远的地方寻找。
当局部变量和成员变量重名的时候,一定是先试用局部变量定义的变量,如果没有,才会使用成员变量。

继承

继承的概述

让类和类直接产生关系,子父类的关系
父类:被继承的类 又可称:超类、基类
子类:用于继承的类 又可称:派生类

extens关键字

extends:扩展、增加、继承

继承的好处

提高了代码的复用性
提高了代码的可维护性
是多态的前提

继承的弊端

提高了代码的耦合性(关联性)
耦合性:事物与事物之间的依赖关系,互相影响的程度
注意:
开发原则:高内聚,低耦合
高内聚:一个对象自己可以完成各种事
低耦合:每个类的代码减少依赖关系

继承的注意事项

父类中私有成员(属性、方法)不能被继承
父类中的构造方法不能被继承

super关键字

代表的父类的引用

重写

在子父类中的方法名相同,参数列表相同,与返回值有关(相同)。
可以用@Override来验证子类中相同方法名是否进行了重写。

java中继承特点

Java支持单继承,不支持多继承,但支持多层继承。

多态

多态的概述

1.多态:事物的多种形态
2.对象的多态性:同一对象,可能具有不同的名称,同一对象,有着不同的类型的引用指向它。本质:同一物体有着不同的名称和描述。
3.类型的多态性:同一类型,可能具有不同的子类实现,同一个引用,有着不同的对象的实现。本质:同一个名字和描述,可以在不同的实现场景有着不同的真实实现。
4.多态实现的前提
要有子父类的继承,(实现)关系
父类的引用指向子类的对象

在多态中访问特点

1.成员变量:编译看左边,执行看左边
2.成员方法:编译看左边,执行看右边
3.静态成员:编译看左边,执行看左边

向上向下转型

1.向上转型:子类提升成父类
格式:同多态定义
本质:缩小了对象本身的访问范围,减少了访问权限(只限于父类的定义的内容)
2.向下转型:恢复成子类
格式:子类类型 引用变量 = (子类类型)分类类型的引用
本质:恢复了子类类型原有的访问权限

多态的好处

1.提高代码的可扩展性
2.在方法的参数列表中,可以定义父类类型的引用,将来在调用的时候,所有子类类型的对象,都可以作为方法的实际参数
3.不在方法的参数列表中,在普通的方法中,使用父类的类型指向子类对象,也可以提高代码的扩展性。对象来源非常广泛,不仅仅是new出来的,(还可以通过反射获取,通过文件读取,还可能是网络传输),在写代码的编译阶段,无法知道对象具体的子类类型,使用父类类型的引用,操作不知道的子类类型的对象。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值