• 有继承关系的构造方法问题


    下面代码中B继承了A,在new B对象时,首先执行A的无参构造,不管是new B的有参还是无参。

    使用无参构造方法new B时,会执行B的无参构造方法;使用有参构造new B对象时,会执行B的有参构造方法

    public class TestConstruct {
    
        public static void main(String[] args) {
            B b = new B();
            b.setAge("qwe");
            b.setName("asdf");
        }
    }
    class A{
        String name;
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public void a(){
            System.out.println("我是A");
        }
        public A(String name){
            System.out.println("我是A的有参构造");
            this.name=name;
        }
        public A(){
            System.out.println("我是 a 的无参构造");
        }
    }
    class B extends A{
        String age;
        public String getAge() {
            return age;
        }
        public void setAge(String age) {
            this.age = age;
        }
        public void b(){
            System.out.println("我是B");
        }
        public B(String age){
            System.out.println("我是B的有参构造");
            this.age=age;
        }
        public B(){
            System.out.println("我是b 的无参构造");
        }
    }

     控制台打印为:

    我是 a 的无参构造
    我是b 的无参构造
  • 相关阅读:
    Java类加载文章2(z)
    Java类加载文章1(z)
    Java类加载文章2(z)
    网页的文档对象模型
    网页元素的比例长度
    CSS 中三栏布局的实现
    CSS 中双栏布局的实现
    在浏览器中打开本地文件1
    Oracle Oracle UTL_RAW类
    SVN完整安装及简略使用
  • 原文地址:https://www.cnblogs.com/gxlaqj/p/11698433.html
Copyright © 2020-2023  润新知