• Java(14):继承


    package zzz;
    
    // 创建继承
    
    public class Demo2 {
        
        public static void main(String[] args) {
            
            Animal animal = new Animal();
            animal.live();
            animal.run();
            
            System.out.println("******************************************");
            
            Cat catAnimal = new Cat();
            catAnimal.live();
            catAnimal.run();
            
            System.out.println("******************************************");
            
            SmallCat smallCat = new SmallCat();
            smallCat.run();
            smallCat.live();
            
            System.out.println("******************************************");
            
            Dog dog = new Dog();
            dog.run();
    
        }
        
    }
    
    
    class Animal {
        
        String animal = "animal";
        
        public Animal() {
            System.out.println("父类构造函数Animal结束.");
        }
        public void live() {
            System.out.println(animal+" live ...");
        }
        public void run() {
            System.out.println(animal + " can run ...");
        }
    }
    
    class Dog extends Animal {
        String animal = "dog";
        
        public Dog() {
            System.out.println("Dog() end.");
        }
        @Override
        public void run() {
            System.out.println(super.animal + " can run, " + this.animal + " can run ...");
        }
    }
    
    class Cat extends Animal {
    
        String animal = "cat";
        
        public Cat() {
    //        调用父类的构造函数
            super();
            System.out.println("子类构造函数Cat结束.");
        }
    
        @Override
        public void run() {
            System.out.println(super.animal + " can run, such as " + this.animal);
        }
        @Override
        public void live() {
    //        子类调用父类的方法
            super.live();
        }
    }
    
    class SmallCat extends Cat {
    
        String animal = "small cat";
        
        public SmallCat() {
    //        继承子类默认会调用父类的无参构造函数,隐式存在一个super();调用父类Cat类的构造函数
            System.out.println("子类构造函数SmallCat结束.");
        }
        @Override
        public void run() {
            System.out.println(this.animal + " can run .");
        }
        @Override
        public void live() {
            super.live();
        }
    }
  • 相关阅读:
    Android的AndroidManifest.xml文件的详解
    Android新建项目手动添加Layout布局
    elasticsearch-搜索-评分(四)
    linux监控命令-磁盘监控
    linux监控命令-pidstat
    linux监控命令-free
    linux监控命令-vmstat
    redis-缓存设计-队列(普通队列、优先级队列、延迟队列)
    redis-缓存设计-信号量设计
    redis-缓存设计-搜索前缀匹配
  • 原文地址:https://www.cnblogs.com/kenantongxue/p/14014054.html
Copyright © 2020-2023  润新知