• Implicit super constructor xx() is undefined for default constructor


    因为父类定义了一个有参的构造函数,此时编译器就不会调用默认的无参构造函数。
     
    当子类继承时,必须在自己的构造函数显式调用父类的构造函数,才能确保子类在初始化前父类会被实例化。
     
    如果你父类中有无参的构造函数,子类就不会强制要求调用,编译器会默认帮你调用父类的构造函数。
     
    父类
    class Person {
        protected String name;
        protected int age;
        //你已经定义了自己的构造函数,此时编译器不会为你创建默认的构造函数
        public Person(String name,int age) {
            this.name=name;
            this.age=age;
        }
        public void print() {
            System.out.println("Name:"+name+"/nAge:"+age);
        }
    }
     
    子类
    class Student extends Person {
        public Student(){      //子类构造函数
        //super();   不行,因为你的父类没有无参的构造函数
     
        super("a",1);
          //显示调用父类的构造函数,而且必须是第一行调用
        }
    }
        class Test {
            public static void main(String args[]){
            }
    }
     
     
    莫问前程
  • 相关阅读:
    C# 多线程Thread.IsBackground=True的作用
    JS 判断用户设备 移动端或桌面端
    VSCode 代码格式化 快捷键
    PHP 根据 IP 获取定位数据
    C# 将文本写入到文件
    C# 读取文件内容
    PHP 美化输出数组
    VSCode 设置 Tab 空格
    custom post types 404 Page Error
    [已解决] wordpress 修改 permalink 后 页面 404 问题
  • 原文地址:https://www.cnblogs.com/dolphin007/p/4452248.html
Copyright © 2020-2023  润新知