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轻松入门经典教程【完整版】

  • 相关阅读:
    IEEE 网址
    知乎上非常棒的机器学习专栏
    怎样认识比你优秀的人并和他们成为朋友?
    影藏铜皮,显示原点与更改
    PCB检查事项,生成钻孔表
    布局-同样模块复用
    制作DIP Package及DIP焊盘制作,不规则焊盘制作
    制作SMD Package及SMD焊盘制作
    导入网络表
    导入DXF文件
  • 原文地址:https://www.cnblogs.com/cenliang/p/5627516.html
Copyright © 2011-2022 走看看