面向对象06:抽象类和方法

static final 常量

  1. 必须声明同时初始化
  2. 类名点来访问、不能被改变
  3. 建议:常量名所有字母都大写,多个单词之间用_分隔
  4. 编译器在编译时将常量直接替换为具体的值,效率高
  5. 数据永远不变,并且经常使用

抽象方法

  1. 由abstract修饰
  2. 只有方法的定义,没有具体的实现(连大括号都没有)

抽象类

  1. 由abstract修饰

  2. 包含抽象方法的类,必须是抽象类

    不包含抽象方法的类也可以声明为抽象类—纯属乐意

  3. 抽象类不能被实例化,可以创建对应的数组和引用

  4. 抽象类需要被继承的,派生类:

    • 重写抽象类中的所有方法,使其完整—推荐使用
    • 也声明为抽象类—一般不这样用
  5. 抽象类的意义:

    • 封装共有的属性和行为—代码复用
    • 为所有派生类提供统一的类型—向上造型
    • 可以包含抽象方法,为所有派生类提供统一的入口,派生类的具体事项不同,但入口是一致的

初级者:设计规则

  1. 将派生类共有的属性和行为,抽到超类中—抽共性

  2. 派生类的行为都一样,设计为普通方法

    派生类的行为不一样,设计为抽象方法

  3. 将部分派生类所共有的行为,抽到接口中。符合即使也是,使用接口
    接口是对继承单根性的扩展———实现多继承

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值