java面向对象的3大特征——封装,继承,多态

封装:

封装的概念:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问

封装的两大原则

    1)把尽可能多的东西藏起来,对外提供便捷的接口

    2)把所有的属性藏起来

封装的步骤

    1)修改属性的可见性:把属性设为private

    2)创建公有的getter/setter方法:用于属性的读写

    3)在getter/setter方法中加入属性控制语句:对属性值的合法性进行判断

封装的好处

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

封装的方法

    1)属性隐藏(private)
    2)包机制(package)


继承:

继承的概念:子类继承父类的特性,扩展父类的功能

关键字:extends

继承的注意事项

    1)private成员不能继承

2)构造不能继承只能调用


多态:

多态的概念:父类的引用指向子类的对象(向上转型),同一个操作,根据指向的对象不同而产生不同的结果。方法重写是实现多态的基础

java中实现多态的机制:父类或接口定义的引用变量可以指向子类或具体实现类的实例对象,而程序调用的方法在运行期才动态绑定。

多态应用场景
    1)使用父类作为方法的形参(宠物看病)
    2)使用父类作为方法的返回值(简单工厂模式)


拓展:

1.向上转型:父类的引用指向子类的对象,自动类型转换。此时父类的引用无法调用子类特有的方法

例如:Pet dog = new Dog();

2.向下转型:子类的引用指向父类的对象,强制类型转换。

例如:Dog d = (Dog)dog;

3.动态绑定与静态绑定

    1)实例方法(动态绑定机制):与引用变量实际引用的对象绑定.调用重写后的方法,由运行时的jvm决定
    2)静态方法(静态绑定机制):与引用变量所声明的类型绑定.编译阶段绑定

    3)成员变量(静态变量和实例变量,静态绑定机制):与引用变量所声明的类型绑定.编译阶段绑定

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值