Java学习第三天第三回合:面向对象3

面向对象三大特征:继承(extends)、封装(encapsulation)、多态(ploymorphism)

1.继承(extends)

        <1.>作用

                Ⅰ.代码复用,更加容易实现类的扩展;

                Ⅱ.方便建模;

        <2.>判断方法

                instanceof(左边是对象,右边是类):用来判断该对象是不是类或者子类所创建的;

        <3.>要点

                子类继承父类,可以得到父类全部属性和方法(除了父类的构造方法),但不见得可以                  直接访问(父类私有属性和方法);

        <4.>方法的重写(override)

                重写针对的是语句块,重载针对的是“语句头”。(个人理解)

        <5.>final关键字

                修饰变量:常量

                修饰方法:不可被子类重写,但是可以被重载

                修饰类:不能被继承

        <6.>继承和组合

                组合:将父类对象作为子类的属性(实例化),子类通过调用这个属性来获得父类的属                            性和方法;

                继承(is-a)

                组合(has-a)

2.封装(encapsulation)

        <1.>作用

                Ⅰ.提高代码的安全性和复用性;

                Ⅱ.“高内聚”、“低耦合”;

修饰类同一类同一包子类所有类
private*
default**
protected***
public****

        <2.>开发

                属性使用private,需要被其他类调用的方法使用public;

3.多态(ploymorphism)

        <1.>作用

                Ⅰ.不必编写每一子类的功能调用,可以直接把不同子类当父类看,屏蔽子类间的差异,                       提高代码的通用率/复用率 ;

                Ⅱ.父类引用可以调用不同子类的功能,提高了代码的扩充性和可维护性;

        <2.>要点

                Ⅰ.多态是方法的多态,与属性无关;

                Ⅱ.多态存在的必要条件:继承,子类方法重写,父类引用指向子类对象;

                Ⅲ.父类引用指向子类对象后,父类引用调用子类重写的方法,多态产生;

Animal a = new Dog();
a.animalCry();

        <3.>对象转型

                自动类型转换(向上转型):父类引用指向子类对象;

                强制类型转换(向下转型)

4.Object类

        <1.>toString()→hashcode

        <2.>equals()

                equals()比较的是hashcode;“==”比较的是对象

        <3.>super关键字:访问父类被子类覆盖的方法和属性;

                        Ⅰ.super.f()→调用父类普通方法;

                        Ⅱ.super.value→调用父类成员变量;

                

        

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值