什么是Java中对象的继承?继承应该怎么用?

Java面向对象编程之继承

讲解对象继承的概念和使用

  • 继承

    • ⼦类继承⽗类的特征和⾏为,使得⼦类对象具有⽗类的⽅法和属性
    • ⽗类也叫基类,具有公共的⽅法和属性,⽣活中的例⼦
      • 动物<-猫
      • 动物<-狗
  • java中的继承,减少重复代码

    • 使⽤前
      在这里插入图片描述

    • 使⽤后
      在这里插入图片描述

  • 格式,通过extends关键字

class ⽗类名称{

}
class ⼦类名称 extends ⽗类名称{

}
  • 特点
    • ⼦类拥有⽗类的⾮private的属性和⽅法
    • ⼦类可以⽤⾃⼰的⽅式实现⽗类的⽅法 override(重写,覆盖)
    • 实现了代码的复⽤
    • 重写从⽗类那⾥继承来的⽅法的,当调⽤⽅法时候会优先调⽤⼦类的⽅法(默认就近原则)

未继承,无法调用方法
在这里插入图片描述
在这里插入图片描述

继承成功,子类调用父类方法
在这里插入图片描述
在这里插入图片描述
整体示例

package domee.chapter6_4.sub;

public class InheritanceMainText {
    public static void main(String[] args) {
        Cat cat = new Cat();
        cat.setAge(2);
        cat.setName("加菲猫");
        Dog dog = new Dog();
        dog.setAge(3);
        dog.setName("史迪仔");
        System.out.println("年龄:"+cat.getName());
        System.out.println("名字:"+cat.getAge());
        cat.sleep();
        System.out.println("年龄:"+dog.getName());
        System.out.println("名字:"+dog.getAge());
        dog.sleep();
        dog.eat();
        cat.eat();
    }
}

在这里插入图片描述
默认就近原则

package domee.chapter6_4.sub;

public class Dog extends Animal {
    public void eat(){
        System.out.println("狗吃肉");
    }
    @Override
    public void sleep(){
        System.out.println("(狗)史迪仔闭着眼睛睡觉");
    }
    public void test(){
        sleep();
        super.sleep();
    }
}

package domee.chapter6_4.sub;

public class InheritanceMainText {
    public static void main(String[] args) {
        Cat cat = new Cat();
        cat.setAge(2);
        cat.setName("加菲猫");
        Dog dog = new Dog();
        dog.setAge(3);
        dog.setName("史迪仔");
        System.out.println("年龄:"+cat.getName());
        System.out.println("名字:"+cat.getAge());
        cat.sleep();
        System.out.println("年龄:"+dog.getName());
        System.out.println("名字:"+dog.getAge());
        dog.sleep();
        dog.eat();
        cat.eat();
        dog.test();
    }
}

在这里插入图片描述

  • 注意
    • 不⽀持多继承,⽀持多重继承,多重继承提⾼了耦合性,组合优于继承
    • 所有的类都是继承于 java.lang.Object
  • final关键字
    • 修饰的类,则这个类不可以被继承
    • 修饰⽅法,则这个⽅法不允许被覆盖(重写)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值