java类和对象:封装、继承和多态

  1. 类成员的访问修饰符

    作用域修饰符同一个类中同一个包中子类中任何地方
    private可以不可以不可以不可以
    默认修饰符可以可以不可以不可以
    protected可以可以可以不可以
    public可以可以可以可以
  2. 变量

    1. 成员变量会有初值:参考数组的初值(整形0,浮点型0.0,布尔类型false,char类型是空格,引用类型是null)
    2. 局部变量没有初值
  3. 方法重载:同一个类中、方法名相同、参数个数或类型不同、与返回值、访问修饰符无关

  4. 继承是Java中实现代码重用的重要手段之一。Java中只支持单根继承,即一个类只能有一个直接父类

  5. 继承条件下构造方法的调用规则

    1. 子类构造方法没有通过super显式调用父类的有参构造方法,也没通过this显式调用自身其他构造方法,系统默认调用父类的无参构造方法
    2. 子类构造方法通过super显式调用父类的有参构造方法,执行父类相应构造方法,而不执行父类无参构造方法
    3. 子类构造方法通过this显式调用自身的其他构造方法,在相应构造方法中应用以上两条规则
  6. 方法重写

    1. 方法名相同
    2. 参数列表相同
    3. 返回值类型相同或者是其子类
    4. 访问权限不能严于父类
    5. 父类的静态方法不能被子类覆盖为非静态方法,父类的非静态方法不能被子类覆盖为静态方法
    6. 子类可以定义与父类同名的静态方法,以便在子类中隐藏父类的静态方法
    7. 父类的私有方法不能被子类覆盖
    8. 不能抛出比父类方法更多的异常
  7. 方法重写与方法重载区别

    比较项位置方法名参数表返回值访问修饰符
    方法重写子类相同相同相同或是其子类不能比父类更严格
    方法重载同类相同不相同无关无关
  8. 抽象方法

    1. 抽象方法没有方法体
    2. 抽象方法必须在抽象类里
    3. 抽象方法必须在子类中被实现,除非子类是抽象类
  9. 静态代码块

    1. 某个类当中固有的代码块
    2. 一个类当中可以有多个静态代码块,按编写顺序执行
    3. 静态代码块,只会在类被****加载****的情况下执行一次(声明例外)
    4. 类加载机制:只要执行了和这个类有关的****调用****,那么该类必然已经被加载
  10. 抽象类

    1. 在抽象类当中,可以有普通方法,也可以有抽象方法;但是,抽象方法只能在抽象类当中声明;
    2. 抽象类除了多了抽象方法和不能被实例化之外,和普通类一致
    3. 抽象方法的语法,在修饰符和返回值之间,添加关键字abstract,抽象方法没有方法体,即不需要立即实现
    4. 没有抽象的属性
    5. 抽象类,不可被实例化
    6. 抽象方法必须在子类当中被实现,除非子类也是抽象类,也就是说,在抽象的类的子类当中,只要有一个子类实现了抽象方法,其后代将不必一定实现该抽象方法
    7. 对于一个子类来说,其父类当中所有的抽象方法,如果没有被实现过,那么将都需要去实现这些抽象方法
  11. 向上转型:父类声明指向子类对象

    1. 向上转型,父类声明,只能调用子类重写的方法,或者本身实现没有被子类重写的方法
    2. 多个子类实现同一个****重写****的方法,优先调用距离实现类最近的那个
    3. 向上转型,子类特有的方法,无法被调用
    4. 向上转型属于自动类型转换
  12. 向下转型:强制将父类型变为子类型

    1. 首先要向上转型过了,才能向下转型
    2. 向下转型之前,一定要判断实例的类型,要强转为那个引用,就判断是否是这个引用
    3. 向下转型属于强制类型转换
  13. 接口

    1. 语法:使用interface来声明
    2. 方法:所有的方法都是抽象方法,不存在普通方法
    3. 抽象方法,只能使用共有的和默认的两种修饰符;因为,如果是私有的,那么除了本类以外不可见,如果是受保护的,要继承可见,那么问题就是****是否可见****。
    4. 接口当中,所有的属性都是静态常量
    5. 接口可以多实现,用逗号隔开,但是继承只能单根继承
    6. 接口同样不可以被实例化
    7. 接口和接口之间是多继承
    8. 所有接口当中的抽象方法,都必须被实现类实现
    9. instanceof判断是否是某个类型,看实现类,而不是看声明的类型
    10. 接口没有构造,抽象类有构造
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

隐 风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值