Java面向对象-------继承

一、继承的概念

  • 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。
  • 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。

二、继承的作用

  • 子类拥有父类的属性和方法,减少重复的代码,维护性高。
  • 代码简洁,提高了代码的复用性。

三、继承关键字

  • class——定义类
  • interface——定义接口
  • extends——继承父类
  • implements——实现接口

extends和implements的区别:

相同点 :都属于Java中的继承 都发生在多各类中

不同点 :extends只能单继承,implements可以实现多继承 extends继承父类时,父类中可以存在方法的默认实现 而implements在实现接口时接口中不能有方法实现 extends发生在子类和父类之间,implements发生在实现 类和接口之间

生活中的继承

 兔子和羊属于食草动物类,狮子和豹属于食肉动物类。 食草动物和食肉动物又是属于动物类。 父类更通用,子类更具体。 虽然食草动物和食肉动物都是属于动物,但是两者的属性和行为上有差别,所以子类会具有父类的一般特性也会具有自身的特性。

继承的特性

1. 子类拥有父类非 private 的属性、方法

2. 子类可以拥有自己的属性和方法,即子类可以对父类进行扩展

 3.子类可以用自己的方式实现父类的方法

4. 提高了类之间的耦合性(继承的缺点,耦合度高就会造成代码之间的联系越紧密,代码独立性越差)

5. Java 的继承是单继承,但是可以多代继承,单继承就是一个子类只能继承一个父类,多重继承就是,例如 A 类继承 B 类,B 类继承 C 类,所以按照关系就是 C 类是 B 类的父类,B 类是 A 类的父类,这是 Java 继承区别于 C++ 继承的一个特性

 继承的优点

提高代码的复用性 子类中重复的代码只需要在父类中写一遍,所有子类都可以应用 提高代码的可维护性 只需要修改父类属性和方法,所有的子类都会应用 提高类和类之间的关联性,为多态做基础 其实这也是继承的缺点,增加了类和类之间的耦合度,耦合度的增加意味着后期扩展性的降低

继承的实列:
class Animal {
  void eat() {
    System.out.println("animal : eat");
  }
}
 
class Dog extends Animal {
  void eat() {
    System.out.println("dog : eat");
  }
  void eatTest() {
    this.eat();   // this 调用自己的方法
    super.eat();  // super 调用父类方法
  }
}
 
public class Test {
  public static void main(String[] args) {
    Animal a = new Animal();
    a.eat();
    Dog d = new Dog();
    d.eatTest();
  }
}
public interface A {
    public void eat();
    public void sleep();
}
 
public interface B {
    public void show();
}
 
public class C implements A,B {
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值