2. 面向对象的继承

1. 继承是Java的一个重要且功能强大的特征。

假设定义3个类,分别对猫,狗,猪进行属性和行为的描述,假设它们都有名称,年龄,全部会睡觉,会吃,等等一些具有相同的属性或行为。这时我们的3个类中便会出现许多相同代码。而且在伦理中它们都属于动物,都会做一些动物都做的事情。我们便可以将它们的共同属性和行为提取出来,创建一个新的类,称为动物类。猫,狗,猪便可以继承到这个动物类中公开的属性和行为,我们将动物类称之为父类,猫,狗,猪称为动物类的子类。

写个小案例了解一下:

class Demo{
    public static void main(String[] args) {
        Cat cat = new Cat();
        cat.age = 2;
        cat.name = "小白";
        System.out.println(cat.name+" : "+cat.age+"岁啦");
        cat.sleep();

        Dog dog = new Dog();
        dog.age = 3;
        dog.name = "小黑";
        System.out.println(dog.name+" : "+dog.age+"岁啦");
        dog.sleep();
    }
}                                           //输出内容:
class Animal{     //父类
     //都有年龄和名称                          闭眼睡觉...
    public int age;                           小白 : 2岁啦
    public String name;                       小黑 : 3岁啦

    public void sleep(){
        System.out.println("闭眼睡觉...");
    }
}    
//继承Animal父类,
class Cat extends Animal{    //子类
    //继承到了name,age和sleep()方法
    public void catchJerry(){    //子类特有的方法
        System.out.println("捉老鼠....");
    }
}
class Dog extends Animal{
    //继承到了name,age和sleep()方法
}

继承的好处:

  1. 继承的出现提高了代码的复用性,提高软件开发效率。
  2. 继承的出现让类与类之间产生了关系,提供了多态的前提

注意:

  • 父类中的私有数据域在该类之外是不可访问的,如Animal类里public int age 是private int age 的话,子类便不会继承到age属性,一般情况下我们是希望age属性被继承到的,所以不会对age使用private。
  • 继承的条
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值