复用类

复用类


  • 组合(has-a)
  • 继承(is-a),面向对象程序设计的基石之一(封装,多态)

组合与继承的选择:是否需要向上转型

组合语法

初始化

  • 定义对象时,能够在构造器被调用之前初始化
  • 在类的构造器中
  • 正要使用这些对象之前,惰性初始化
  • 实例初始化

继承语法

为了继承,一般规则是数据成员指定为private,方法指定为public.

初始化基类

构建过程是从基类”向外”扩散的

带参数的构造器

调用一个带参数的基类构造器,必须使用关键字super显式调用,并配上参数

class Game{
    Game(int i){}
}

class BoardGame extends Game{
    BoardGame(int i){
        super(i);
        print("");
    }
}

名称屏蔽

  • 在导出类中重新定义方法名称不会屏蔽其在基类的任何版本,即重载
  • 覆盖时,@Override注解可以防止你在不想重载时而意外地进行了重载

final关键字

final数据

一个永不改变的编译时常量

空白final

提供灵活性,但要确保使用前被初始化.
例如:在重载构造器中赋予不同的值

final参数

可读不可改,主要用来向匿名内部类传递数据

final方法

在继承中使方法行为保持不变,并且不会被覆盖

final和private关键字

类中所有的private方法隐式指定为final的,由于无法调用,也就无法覆盖.
导出类中相同名称的方法是新方法,不是覆盖

final类

不可被继承

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值