zoukankan      html  css  js  c++  java
  • 有继承关系的构造方法问题

    下面代码中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 的无参构造
  • 相关阅读:
    ALV 填值返回更新屏幕
    alv 的几种形式 和 函数
    JS 截取字符串的空格
    codeigniter 轻量级架构知识初习
    之前的博客挂掉了
    在服务器上运行php文件来执行操作
    浏览器判断
    php 汉字判断
    web 套打方法实现打印机功能
    WIN8
  • 原文地址:https://www.cnblogs.com/gxlaqj/p/11698433.html
Copyright © 2011-2022 走看看