Java day08

------------------
复习
1.方法的重载
    前提是在一个类中
2.引用类型数组
    声明初始化之后,需要new,在堆中开辟一片内存,否则会有空指针异常

------------------------
继承
1.子类(衍生类/扩展类) extends 父类(基类)

2.继承的特征:
    a.子类继承父类会继承父类中的成员变量和方法
    (待定:有一些权限的修饰词如private int num,  num子类是无法直接访问的)
    b.所有类都有一个默认的直接或间接继承的父类叫Object
    c.一个类只能有一个父类,但是一个父类可以有多个子类

3.要点
    a.子类中的成员变量名与父类中变量名相同时
        会因为就近原则(变量名覆盖?),调用的是子类自己本身的成员变量
        所以在有父子类关系的类中,尽量不要出现同变量名
        (可使用super关键词来调用父类中的同名变量)

    b.子类中可以引用父类的对象
    c.创建子类对象之前,会先创建父类对象
            子类加载之前,会先加载父类
            查看方法:构造器
    d.子类对象调用方法,有方法重写则调用自己的方法,否则调用从父类继承过来的方法(就近原则)


4.Super关键词
    super:父类对象
        1.在子类构造方法中的一定会先调用父类的无参构造方法
            即在子类构造方法中默认添加super()
        
        2.如果父类没有无参的构造器,则需要在子类中手动调用父类的有参构造器
        3.super()需要放在子类构造方法的第一行,与this()相似,所以两个不能同时存在
        
        4.规范写法,类中手动添加无参构造器


5.方法重写
    前提:必须存在父子类关系
        子类中重写父类定义的方法
        方法的方法名/方法的返回值/方法的修饰符/方法的参数,必须完全一致才能实现方法的重写

6.抽象类:abstract
    1.抽象类:
        a.使用abstract修饰的类叫作抽象类
        b.一个抽象类中可以有多个抽象方法也可以没有
        c.抽象类不能实例化,需要继承他的非抽象类的子类才可以实例化
        d.抽象类有构造方法,方便子类使用

    2.抽象方法
        a.使用abstract修饰的方法
        b.抽象方法没有方法体
        c.非抽象类的子类继承抽象类的父类需要全部重写父类中的抽象方法

    3.成员变量(?待定:所有变量)不能由abstract修饰

    4)判断:
        有抽象方法的类叫做抽象类 √
        抽象类就是有抽象方法的类 ×
        抽象类中可以存在抽象方法 √

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值