面向对象编程思想

面向对象编程的三大特征:
    封装:把抽象的数据【属性】和对数据的操作【方法】封装在一起,数据被保护在内部,
          程序的其他部分只有通过被授权的操作【方法】才能对数据进行操作
          三步:1)将属性进行私有化(private)
                2)提供一个公有的(public)set方法,对属性进行判断并赋值
                3)提供一个公有的(public)get方法,用于获取属性的值
                set方法与构造器结合:将set方法写入构造器中,构造的同时完成赋值
    继承:不同子类中的公有的属性和方法抽取出来,写在父类中,子类继承父类
        本质:子类对象创建好之后,建立的查找关系
        1)子类继承所有的属性和方法,非private的属性和方法可以直接访问,private的属性通过public的方法进行访问
        2)子类不会继承父类的构造器,但是一定调用父类的构造器,完成父类的初始化
        3)创建子类对象时,不管使用哪个构造器,默认会取调用父类的无参构造,
           如果父类中没有无参构造(必须通过super指定)或super已指定某个构造器,使用该构造器
        4)如果希望指定父类中的某个构造器,则调用super
        5)super在使用的时候,必须放在构造器的第一行(只能用于构造方法中)
        6)super()和this()都只能放在构造器的第一行,因此这两个方法不能同时使用
        7)java中的所有类都是object的子类,object是所有类的基类
        8)父类构造器的调用不限于父类,将一直向上追溯到object类
        9)子类只能继承与一个父类,即java是单继承机制
        10)不能滥用继承,子类与父类之间必须满足is-a的逻辑关系
        super关键字:代表父类的引用,用于访问父类的属性、方法、构造器
                1.子类中有与父类的成员同名时,访问父类中的成员,必须通过super;
                2.super的访问不限于父类。
        方法重写:1.子类的形参列表,方法名称和父类的完全一致
                 2.子类的返回类型和父类的返回类型一致,或是父类的子类
                 3.子类不能缩小父类的访问权限

    多态:同一个事物具有不同的表现形式,建立在封装和继承的基础之上

                方法多态:方法重写和方法重载

                多态的向上转型:本质:父类的引用指向子类的对象

                        语法:父类类型  引用名 = new 子类类型();

                        特点:编译类型看左边,运行类型看右边

                                可以调用父类的所有成员;不能调用子类中特有的成员

                多态的向下转型:语法:子类类型  引用名 = (子类类型)父类引用;

                        1)只能强转父类的引用,不能强转父类的对象

                        2)要求父类的引用必须指向当前目标类型的对象

                        3)当向下转型后,可以调用子类类型中所有的成员

                java的动态绑定机制:

                        1.当调用对象的方法的时候,该方法会和对象的内存地址/运行类型进行绑定

                        2.当调用对象的属性时,没有动态绑定机制,哪里声明,哪里使用

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值