面向对象-继承[java]

http://t.csdn.cn/psnQP

什么是继承?

        继承是面向对象序设计中的三大特征之一。通过继承使得一个对象从另一个对象中获得属性。可以实现代码的重用。

        继承的基本思想是基于某个父类扩展出一个新的子类。子类既可以拥有父类原有的属性和方法。也可以增加父类没有的属性和方法。或者直接对父类的方法进行修改。

        在JAVA中用extends关键字表示一个类继承另一个类。格式如下:

        [修饰符]  class  子类名  extends  父类名{

        属性和方法;

        }

子类继承父类的原则:

        子类可以继承父类的成员变量和成员方法,其中私有成员变量可以继承但不能直接使用,子类不可以继承父类的私有成员方法和构造方法。

        解释:子类不能继承父类的构造方法,因为构造方法必须与类名相同。父类和子类的名字不同,因此子类和父类的构造方法也不会相同。

        例:定义动物类Aminal、猫类Cat、狗类 Dog,狗类和猫类继承动物类。

 

 这样Cat类和dog类内部虽然没有定义任何成员变量和成员方法,但是都可以使用动物类的成员变量和成员方法。

继承的优点:

  1. 提高了代码的可重用性。
  2. 提高了代码的可维护性,想要在猫类和狗类中都增加一个成员变量,只需要在动物类中增加这一属性即可。

继承的特点:

  1. 通过继承可以简化类的定义。
  2. JAVA只允许单继承,不允许多继承,但是支持多重继承。
  3. 可以有多层继承,即一个类可以继承某一个类的子类

  4. 如果子类的构造方法中没有显示的调用父类构造方法[super()],也没有使用this关键字调用重载的其它构造方法,则在产生子类的实例对象是,系统默认调用父类的无参构造方法.

  5. final 修饰符.父类方法加了final 修饰符,在子类中不能重新定义,如果类前面加了final 修饰符,该类不能作为父类,不能被继承.

super关键字:

super键字用来访问父类的成员变量和成员方法也包括构造方法。

访问成员变量:super.成员变量

访问成员方法:super.成员方法(参数列表)

访问构造方法: super(参数列表)

注意,如果子类构造方法中调用super语句,那么super语句必须是第一条。先初始化父类,再初始化子类。

final关键字:

Final关键字可以修饰类成员变量和成员方法。

Final修饰类:

        被final关键字修饰的类不能被继承,即不能有子类。

Final修饰成员变量:

        如果一个成员变量被final关键字修饰,则这个成员变量将成为常量。且必须初始化,初始化之后不能改变。

Final修饰成员方法:

        如果父类中的成员方法被final关键字修饰,那么他的子类将不能覆盖父类的方法。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

飞鹰@四海

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

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

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

打赏作者

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

抵扣说明:

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

余额充值