面向对象的三大特性

本文详细介绍了面向对象编程的三大特性:封装、继承和多态。封装强调隐藏内部细节,提高安全性及代码复用;继承用于代码复用,子类可以扩展父类内容;多态则表现为父类引用指向子类对象,调用子类中重写的方法,体现行为的多样性。同时,文章涵盖了权限修饰符、super和this的区别、重写规则以及Java中的final关键字等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.封装---隐藏内部的实现细节,对外提供公共的访问方式

优点:提高安全性     提高代码的复用性

私有是封装,是封装的一个具体的体现

封装不仅仅是私有.类.方法.属性.私有化.....

二.继承

为了提高代码的复用性    子类  extends  父类

父类|基类|超类:被继承的类        子类|派生类:继承父类的类

注意:子类一旦继承父类,有权使用父类的成员

单继承机制           子类中可以扩展子类中独有的内容

特点:简单   不够灵活,不利于后期的维护

面向对象的设计原则之一:对修改关闭,对扩展开放

权限修饰符:

访问权限修饰符

public  公共的

protacted       受保护的

defavlt      默认的

private    私有的

成员修饰符只能修饰成员不能修饰局部

能够修饰类的:public   defavlt

父类中被protacted修饰的成员,在不同包的子类中可以通过继承使用

常用的:public   private

super

super于this之间的区别

this指代当前new的对象

super指代父类对象

创建子类对象,会创建父类对象后创建子类对象----》先父后子

静态内容不能使用this和super

this:1》能够使用在构造器的首行调用本类中的其他构造器 this(参数)

          2》区分同名的局部与成员问题

super:1》能够在子类构造器的首行调用父类的指定构造器 super(参数)如果没有显式调用父类的构造器,默认调用父类的空构造,在子类构造器的首行不能同时定义this()与super()

             2》区分子类与父类同名成员问题

默认就近原则,有局部找局部,没有局部找子类,都没有顺着继承体系到父类中找成员

如果想要找子类 this.调用子类成员 但是如果没有局部与成员同名问题this.可以省略

如何想要找父类super.调用子类成员 如果没有子类与父类与局部同名问题super.可以省略

重写

重写与重载都是方法的特性

重载:     1.同一个类中的多个方法                        重写:1.不同的两个类

                2.方法名不同                                                     2.继承|实现

                3.方法签名(参数列表不同)                            3.方法签名相同

重写前提:子类对从父类中继承的某功能功能满意,功能的实现不满意,这个时候可以在子类中对于这个功能重写重新实现。子类一旦对父类中的某个功能进行重现,在调用时候会对父类的功能进行屏蔽。调用子类中重写的方法,子类对象在调用的时候,子类有重写 ,调用子类的,没有重写调用父类的

检查是否为重写方号

1.在行号后面存有O重写标识                2.@Override强制检测方法为重写方法         

重写满足的三个细节条件:

==方法签名

<=返回值类型

>=权限修饰符

final  最终的 成员修饰符

被final修饰的变量为常量

被final修饰的方法不能被重写

被final修饰的类不能被继承---》太监类

注:基本数据类型的变量 = 右边为数据类型 

        引用数据类型的变量 = 对象,对象的地址值

object

老祖宗 是java所有类的父亲

一个类没有继承其他父类就会继承object,java中都是显隐身的继承object

object类中定义的成员是所有子类,子类对象都可以使用(不考虑权限修饰符问题)

object类中常用的方法:

toString 返回对象的字符串表现形式

eqyals 比较两个对象是否相等

==比较是否相等

比较基本数据类型数据值是否相等  比较引用数据类型的地址值是否相等

object类中的equals的实现:默认比较对象的地址值

==与equals之间的区别

==可以比较基本数据类型| 引用数据类型 ,比对象地址

equals默认object类中比较对象地址因为内部通过==实现比较,可以通过在子类中重写equals实现比较对象内容

三.多态----一种事物的多种形态|多种表现形式,行为多态

多态的表现形式:父类的引用指向子类类型的对象

多态的前提:继承|实现

多态调用:调用子类中重写的方法

                只能调用父类中存在的成员,对子类新增内容不可见

多态调用成员的特点:

成员变量:---》不存在多态                                成员方法:---》行为才有多态

编译运行看父类                                                          编译看父类运行

编译运行看左边                                                          编译看类型                                

编译运行看类型                                                          编译看左边

多态如果不配合方法的重写,多态没有意义

父类引用指向不同的子类对象,当子类中存在重写,对功能实现方式可能不同,这是行为多态的体现,同一个功能的不同实现方式

javabean的规范

1.类是公共的

2.至少提供一个空构造

3.属性私有化

4.提供一对公共的访问方式

5.重写toString和equals

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值