首页 > 编程语言 > 详细

2019.3.13 Java的特性——继承

时间:2019-03-13 16:01:25      阅读:111      评论:0      收藏:0      [点我收藏+]

继承

  • 面向对象编程(OOP)三大特征:继承,封装,多态
  • 目的:为了减少重复代码,避免复制粘贴

  • 创建父类Animal


    public class Animal {

      private String name;    //定义name属性
      private String kind;    //定义kind属性
    
      private int age;       //定义age属性
    
     public void bite(){        //创建bite方法
    
      System.out.println("咬咬咬");

    }

      public void bark(){        //创建bark方法
    
      System.out.println("叫叫叫")

    }

      @Override

    public String toString() {
    return "Animal{" +
    "name=‘" + name + ‘‘‘ +
    ", kind=‘" + kind + ‘‘‘ +
    ", age=" + age +
    ‘}‘;
    public String getName() {
    return name;
    }

      public void setName(String name) {
          this.name = name;
      }
    
      public String getKind() {
          return kind;
      }
    
      public void setKind(String kind) {
          this.kind = kind;
     }
    
      public int getAge() {
          return age;
     }
    
      public void setAge(int age) {
          this.age = age;
      }

    }

  • 创建子类Cat继承于父类Animal


    public class Cat extends Animal{

    }

  • MainClass中使用子类Cat

    public class SecClass {
    
        public static void main(String[] args) {
        
        Cat cat = new Cat();

        cat.setName("旺财");
        cat.setAge(2);
        cat.setKind("土狗");

        System.out.println(cat);
        cat.bark();
        cat.bite();
        }
    }

  • 输出显示测试数据
    技术分享图片

  • 注释
    • 子类和父类是相对概念
    • 只有单继承,只能继承一个类
    • 子类可以继承父类所有的"public"修饰的属性和方法,"private"修饰的无法继承
    • main中通过访问public方法来访问private属性
    • 子类可以有独特的方法和属性,功能可以比父类更细致
    • 父类比子类范围更大

    • Java中所有的类都最终继承于Object类

  • 当子类Cat中想要新加方法时


    public class Cat extends Animal{
    
        public void wash(){
        
            System.out.println("洗脸");
        }
    }

  • 当子类Cat想要修改(重写)父类方法时

    • 子类可以重写(Alt+Insert选第三个,快捷键ctrl+o)
    • 测试样例,bark()方法想要输出"喵喵喵"

    public class Cat extends Animal{
    
      @Override
       public void bark() {

            System.out.println("喵喵喵");

        }  
    }

  • 当子类Cat既想重写父类方法,又想在父类方法的基础上新加东西

     public class Cat extends Animal{
    
         public void bite() {
       
        super.bite();//→就是执行前面的bite"咬咬咬"

        System.out.println("猫咬人");//新添加的东西
        }
      }

  • 注释
    • super的作用在子类中调用从父类继承的方法
  • 测试样例
    技术分享图片

2019.3.13 Java的特性——继承

原文:https://www.cnblogs.com/lzb1234/p/10523699.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!