java面向对象三大特性:封装、继承、多态相关介绍

本文详细介绍了面向对象编程的三大特性——封装、继承和多态。封装通过限制对外接口来保护数据,提高软件的可重用性和独立性;继承允许类之间共享属性和方法,增强了代码的扩展性;多态则提供了多种形态的能力,实现了解耦合,是设计模式的基础。同时,文章还探讨了this和super的区别、方法的重写与重载,以及final关键字的作用。
摘要由CSDN通过智能技术生成

一.什么是封装

1.面向对象的三大特性:

封装、继承、多态。从一定角度上来看,封装和继承都是为多态准备的。

2.封装的定义:

保留有限的外部接口set和get,隐藏具体实施细节。

3.封装的使用步骤:

(1)对访问属性进行私有化:private
(2)生成get和set方法,对外提供具体的方法。

4.封装的好处:

(1)便于使用者正确使用系统,防止错误修改属性。
(2)有助于系统之间的松耦合,提高系统的独立性。
(3)提高软件的可重用性。
(4)降低了构建大型系统的风险。

5.访问修饰符

修饰符\作用域同一个类中同一个包中子类中任何地方
private可以不可以不可以不可以
默认修饰符可以可以不可以不可以
protected可以可以可以不可以
public可以可以可以可以
public class Demo01 {
    private String name;				//私有化成员变量

    public String getName() {           //get方法,用于输出
        return name;
    }

    public void setName(String name) {  // set方法,用于接收输入,并赋值
        this.name = name;
    }
}

二.什么是继承

1.继承定义

继承是一种类和类之间的包含关系,是使用已存在的类定义作为基础建立新类,新类不仅具有基类的属性和方法,而且还有其基类所没有的属性和方法。

2.继承中的this和super区别

this:
1.本类成员方法中,访问本类成员变量,访问本类另一个成员方法
2.本类构造方法中,访问本类另一个构造方法

Super:
1.在子类成员方法中,访问父类成员变量和成员方法
2.在子类构造方法中,访问父类构造方法

本类的成员变量和局部变量重名,用this区分,
本类的成员变量和父类的变量重名,用super区分

3.重写(覆盖)和重载

重载:同一个类中,方法名相同方法参数不同,典型应用:无参构造和有参构造

重写:子类和父类同名的方法。
子类方法和父类方法同名,子类方法会覆盖父类方法,称为重写(覆盖),前提,子类方法访问权限必须大于或等于父类方法的访问权限

4.final

修饰的变量称为常量,值不能被修改 修饰的方法不能被重写,保证安全性和稳定性 修饰的类不能被继承,避免功能被覆盖。

要想让一个类不被其它类继承:
1.用final修饰
2.构造方法私有化

三.什么是多态

1.多态概念

多态是同一个行为具有多个不同表现形式或形态的能力。

2.多态作用

简单讲就是解耦。再详细点讲就是,多态是设计模式的基础,不能说所有的设计模式都使用到了多态,但是23种中的很大一部分,都是基于多态的。

3.多态实现条件

1、有继承关系

2、子类重写父类方法

3、父类引用指向子类对象

4.多态转型

父类Father,子类Children

1、向上转型是自动的。即Father f = new Children()是自动的,不需要强转

2、向下转型要强转。即Children c = new Father()是无法编译通过的,必须要Father f = new Children();先向上转型成功后,在 Children c = (Children)f向下转型,让父类知道它要转成具体哪个子类

3、父类引用指向子类对象,子类重写了父类的方法,调用父类的方法,实际调用的是子类重写了的父类的该方法。即Father f = new Children(),f.toString()实际上调用的是Children中的toString()方法

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值