zoukankan      html  css  js  c++  java
  • 子类继承父类时JVM报出Error:Implicit super constructor People() is undefined for default constructor. Must define an explicit constructor

    当子类继承父类的时候,若父类没有定义带参的构造方法,则子类可以继承父类的默认构造方法

    当父类中定义了带参的构造方法,子类必须显式的调用父类的构造方法

    若此时,子类还想调用父类的默认构造方法,必须在父类中明确声明默认的构造方法

     1 package com.gaohui;
     2 
     3 public class Test {
     4     public static void main(String [] args){
     5         Man man = new Man(24,"Tom");
     6         man.eat();
     7         man.eat("Tom");
     8         man.Exercise();
     9         Woman woman = new Woman();
    10         
    11     }
    12     
    13 }
    14 
    15 class People{
    16     private int age;
    17     private String name;
    18     private String sex;
    19     
    20     public People(){
    21         //如果父类没有声明默认的构造方法,子类继承时必须显式调用父类定义的构造方法
    22     }
    23     
    24     public People(int age, String name){
    25         System.out.println("构造方法一执行了!");
    26     }
    27     
    28     public void eat(){
    29         System.out.println("People need to eat!");
    30     }
    31     
    32     public void eat(String name){
    33         System.out.println(name+" needs to eat!");
    34     }
    35     
    36     
    37 }
    38 
    39 class Man extends People{
    40     public  Man (int age, String name){//由于父类的构造方法是有参的,必须显式调用父类的方法
    41         super(age,name);
    42     }
    43     
    44     public void Exercise(){
    45         System.out.println("I love doing exercise!");
    46     }
    47 }
    48 
    49 
    50 class Woman extends People{
    51     
    52 }
  • 相关阅读:
    SpringCloud微服务初步认识
    SpringCloud-Hystrix:服务熔断与降级
    List接口下重要集合源码分析
    高频面试题:手写一个LRU
    Java基础面试题面经整理(持续更新)
    Redis高可用之主从复制
    Redis过期键删除和内存淘汰
    Redis持久化(RDB与AOF)
    了解Redis事务
    Redis入门与安装
  • 原文地址:https://www.cnblogs.com/huiAlex/p/6239239.html
Copyright © 2011-2022 走看看