Chap03: 类与继承

l       Java中的类都是object的子类, 若定义类时不指明父类,则父类都是object.

l       继承原则: 能够继承父类的public, protected的成员变量和方法,不能继承private和默认的成员变量和方法.如果子类声明一个与父类中同名的成员变量, 则不能继承父类的同名成员变量, 子类的成员变量英藏了父类的同名变量,如果为publicprotected的化,还可以用super.变量在子类总访问父类的变量. Java中没有作用域::操作符. c++.

l       子类不能继承父类的构造函数. 在子类中调用父类的构造函数用super(), 且必须在子类的构造函数的第一行调用.

l       在继承中,如果父类的某个成员方法不适合子类,则子类可以对其进行覆盖,重新实现. C++也是如此.

l       方法的三种继承方式: 完全继承,完全覆盖,部分继承. 部分继承是指子类覆盖父类的方法,但子类覆盖的方法中调用了父类同名的方法,并根据要求做了部分修改.

l       对象访问方法的匹配原则: 从对象定义的类开始, 逐层向上匹配寻找对象要访问的方法.

l       Java中的多态性: 基类的对象  父类和子类中实现了同名方法. 将子类对象赋值给父类对象,然后由父类对象调用方法,即可根据不同的对象调用不同子类的方法. 而在c++, 多态由父类指针和虚函数来实现的.

l       抽象类abstract, 包含抽象方法的类,抽象方法只有定义没有实现. 抽象类中也可以包含成员变量和非抽象方法.非抽象方法必须实现.构造函数不能为抽象的. 抽象类不能实例化,必须作为基类, 任何子类必须实现父类的抽象方法,否则仍为抽象类.

l       Final类不能被继承. 如果没有必要创建最终类,但是又要保护某些方法不被子类覆盖,可以将方法声明为final类型即可.但之类可以继承这些方法.

l       Javafinal量表示常量,定义时必须初试化,final方法则表示该方法不能被子类覆盖.

l       Java中的接口可以实现多继承的机制. 接口的访问控制符为public和默认,与类一样. 接口中的成员变量默认为static final 类型,所以定义时必须初试化, 方法只有定义没有实现. 如果为public类型: 则接口中的变量和方法都是public类型,否则为默认类型. 接口中也可以包含abstract方法,接口也就可以为abstract类型了(个人觉得这个没意义,不知道哪些人是怎么想的,吃多了,没事干.).

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值