Java继承

本文为作者原创,如果转载,请标明出处。

 

在Java中有两种代码重用机制,组合和继承。

使用现有的类合成新的类,称为组合(composition),经常被视为“has-a”(拥有)关系。

继承则声明“新类和旧类相似”,通过 子类 extends 父类 表示,可在导出类中override基类方法,或者在导出类中添加新方法来使与基类产生差异。经常被视为“is -a”或“is-like-a”关系。

( override:重写,子类重写父类方法;overload:重载,有相同方法名,但参数类型或个数彼此不同)

 

常见问题(用一些案例验证结果):

1. Java中private的继承问题

    private是可以被继承的,但是子类继承以后是无法访问。

Output:

Test1 Test2

 

2. Java能继承构造器方法吗?

Java是不能够继承构造器方法的

http://java.sun.com/docs/books/jls/third_edition/html/classes.html#8.8
Constructor declarations are not members. They are never inherited and therefore are not subject to hiding or overriding.

 

 3.Java中子类可以继承和重写父类的静态方法吗?

Java中子类可以继承和重写父类的静态方法

Output:

Test if static function can be extended

Output:

Test2 if static function can be extended

 

4.Java子类构造器调用基类构造器

如果基类只有默认构造器(不管是系统提供的默认构造器,还是显示编写的无参构造器),则子类会调用父类的默认构造器。

Output:

Test1

Test2

如果没有默认的基类构造器,或者想调用一个带有参数的基类构造器,都必须用关键字super显示的编写调用基类构造器的语句,并且配以适当的参数列表。

Output:

Test1

Test2

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值