zoukankan      html  css  js  c++  java
  • Java中super关键字的位置

    1.子类的构造函数如果要引用super的话,必须把super放在函数的首行。

    例如:

    class Base  {
    
        Base()  { 
    
            System.out.println("Base"); 
        }
     } 
    
    public class Checket extends Base { 
    
        Checket() {
    
            //调用父类的构造方法,一定要放在方法的首个语句
             super();
            System.out.println("Checket"); 
        } 
    
    public static void main(String argv[]) {
    
         Checket c = new Checket();
      }
    }

    同时,当父类构造函数有参数时,可以调用super(value),同样地,也需要将其放置在构造函数第一行。super()在第一行的原因就是:子类有可能访问了父类对象, 比如在构造函数中使用父类对象的成员函数和变量, 在成员初始化使用了父类, 在代码块中使用了父类等, 所以为保证在子类可以访问父类对象之前要完成对父类对象的初始化。

    2.若super只是在普通方法中使用时,不需要放置在第一行,表示使用父类的成员方法。

    如:

    class Country {
    
        String name;
    
        void value() {
            name = "China";
        }
    }
    
    class City extends Country {
    
        String name;
    
        void value() {
            name = "Hefei"; 
    
            //不调用此方法时,super.name 返回的是父类的成员变量的值 null 
            super.value();
    
            System.out.println(name);
            System.out.println(super.name); 
        }
    
    public static void main(String[] args) {
    
            City c=new City(); 
            c.value();
        }
    }
  • 相关阅读:
    安装Hadoop
    爬取全部的校园新闻
    理解爬虫原理
    复合数据类型,英文词频统计
    字符串操作、文件操作,英文词频统计预处理
    了解大数据的特点、来源与数据呈现方式
    四则运算升级
    初级四则运算
    分布式版本控制系统Git的安装与使用
    作业——12 hadoop大作业
  • 原文地址:https://www.cnblogs.com/JasonLGJnote/p/11876174.html
Copyright © 2011-2022 走看看