zoukankan      html  css  js  c++  java
  • Java中的super

    java中的super指的就是父类,用到super的有以下几种情况:
    1.当父类与子类存在相同的方法或成员变量时,子类中的成员变量或方法名优先级高,所以子类中的同名成员变量或方法就隐藏了超类的成员变量或方法,
    但是我们如果想要使用超类中的这个成员变量或方法,就需要用到super
    class S {
    	public int value;
    	public void m(){
    		value=10;
    		System.out.println("S"+value);
    	}
    }
    class SS extends S{
    	public int value;
    	public void m() {
    		super.m();
    		value=20;
    		System.out.println("SS"+value);
    	}
    }
    public class S3{
    	public static void main(String[] args){
    		SS n1=new SS();
    			n1.m();
    		
    	}
    }
    
    
    

    输出结果

    S10
    SS20 

    2.存在构造函数时,如果调用super必须写在子类构造函数第一行,当没有显示的调用父类构造方法时(不用super)则调用基类无参数构造方法
    class Person { 
       
       
        Person() { 
           System.out.println("Person"); 
        } 
        
        Person(String name) { 
           System.out.println("父类"+name); 
        }
    } 
        
    public class Chineseperson extends Person { 
        Chineseperson() { 
           super(); // 调用父类构造方法       
        } 
        
        Chineseperson(String name) { 
           super(name);// 调用父类具有相同形参的构造方法 
           System.out.println("子类"+name); 
        } 
        
        Chineseperson(String name, int age) { 
           this(name);// 调用具有相同形参的构造方法 
           System.out.println( age); 
        } 
        
        public static void main(String[] args) { 
           Chineseperson cn = new Chineseperson(); 
           cn = new Chineseperson("lili"); 
           cn = new Chineseperson("lucy", 18); 
        } 
    }
    
    
    

     Person
    父类lili
    子类lili
    父类lucy
    子类lucy
    18

     
  • 相关阅读:
    AcWing 143. 最大异或对
    分组异或
    Java面向对象的思维导图
    数组中超过一半的元素
    SQL带事务的存储过程添加功能
    分页存储过程MYSQL
    文件夹的压缩
    邮箱发送文件
    SQL万能存储过程分页
    Api反射泛型添加
  • 原文地址:https://www.cnblogs.com/52circle/p/9004503.html
Copyright © 2011-2022 走看看