zoukankan      html  css  js  c++  java
  • JavaSE 基础 第33节 实现继承

    2016-06-29

    实现继承
    super();
    在调用子类构造器时,如果没有显式写出super,那么编译器会默认加上super()无参构造器。
    如果想调用父类有参构造器,那么必须显式调用,编译器不会默认加上的。
    创建子类对象的过程,就是从底层基类开始往上,一层层地调用构造方法。
    super() super(参数)都必须放在方法的第一个语句中。

    package com.java1995;
    
    public class A {
        
        A(){
            System.out.println("调用A的无参构造方法");
        }
        
        A(int i){
            System.out.println("调用A的有参构造方法");
        }
    
    }
    
    class B extends A{
        B(){
            System.out.println("调用B的无参构造方法");
        }
        
        B(int i){
            /**
             * super()、super(参数)都必须放在方法的第1个语句中
             * 显式调用、父类有参构造器
             */
            super(i);
            System.out.println("调用B的有参构造方法");
        }
    }
    
    class C extends B{
        C(){
            /**
             * super();
             * 在调用子类的构造器时,
             * 如果没有显式写出super(),
             * 编译器默认调用父类的无参构造器;
             * 如果想调用父类的有参构造器,必须显式调用。
             */
            super();
            System.out.println("调用C的无参构造方法");
        }
        
        C(int i){
            /**
             * 显式调用、父类有参构造器
             */
            super(i);
            System.out.println("调用C的有参构造方法");
        }
    }
    package com.java1995;
    
    public class Test {
        
        public static void main(String[] args) {
            //C-->B-->A
            //C c=new C();
            C c=new C(1);
            
        }
    
    }

    【参考资料】

    [1] Java轻松入门经典教程【完整版】

  • 相关阅读:
    array_keys
    strval
    is_numeric
    php static延迟静态绑定
    page39 类的访问权限控制
    page34类的继承
    被遗忘在角落的类型检查函数
    2.2.5重写静态变量
    2.2.3使用parent作用域
    16个最棒的WordPress博客写作发布工具【博主桌面工具】
  • 原文地址:https://www.cnblogs.com/cenliang/p/5627516.html
Copyright © 2011-2022 走看看