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

     
  • 相关阅读:
    Algs4-2.3.11快排遇与切分值相同时继续扫描是平方级
    使用kubeadm搭建Kubernetes集群
    kubernetes发布解释型语言应用的最佳实践
    docker化php项目发布方式
    linux服务器免密钥登录
    cp 递归复制时 复制实际文件而不是链接文件
    nginx配置http访问自动跳转到https
    nfs服务器
    nginx防止恶意域名解析
    如何建立自己的知识体系?(摘)
  • 原文地址:https://www.cnblogs.com/52circle/p/9004503.html
Copyright © 2011-2022 走看看