Utilisation de super et ça

Utilisation de super et ça

public class father{
    
    	//父类
    protected String name = "小明";
    public father(){
    
    
        super();//他的父类是Object类
    }
    public father(String name){
    
    
        this.name = name;
    }
    private void hello(){
    
    
    	System.out.println("hello");
    }
}
public class son extends father{
    
    	//子类
    public String name = "李华";
    
    public son(){
    
    
        super();//他的父类是father,默认代码,不写也不会报错
    }
    
    public son(String name){
    
    
        this.name = name;
    }
    
    public void test2(){
    
    
		this.test();
		//super.hello();//会报错,不能使用父类中private的属性或方法
	}
    
    public void test(String name){
    
    
        System.out.print(name);
        System.out.print(this.name);
        System.out.print(super.name);
    }
}
public static void main(String[] args){
    
    
    Son son = new son();
    son.test("海王");
}

Production:

海王

李华

小明

en conclusion:

En héritant de la classe parente, la sous-classe peut utiliser les propriétés et méthodes associées de la classe parente

Il est à noter que:

  • Les sous-classes ne peuvent pas hériter des propriétés privées ou des méthodes de la classe parent;
  • Lorsque vous utilisez super () pour appeler le constructeur de la classe parent, il doit être sur la première ligne du constructeur
  • super doit apparaître dans la méthode ou la méthode de construction de la sous-classe (Remarque: le code par défaut est masqué dans les paramètres de construction super();. Lorsque la classe parente n'a qu'une méthode de construction de paramètre et aucune méthode de construction sans paramètre, la sous-classe doit l'ajouter lors de l'appel de super ( ) Les paramètres ne sont pas des erreurs signalées, donc après avoir écrit la structure paramétrée dans la classe parent, il est préférable d'ajouter une structure sans paramètre ou d'utiliser des @lambokannotations);
  • this: peut être utilisé sans héritage, fait référence aux propriétés ou méthodes de cette classe;
  • super: représente l'application de l'objet de classe parent, qui ne peut être utilisé que sous héritage;
  • super et cela n'a pas besoin d'appeler le constructeur en même temps;

Vous êtes invités à corriger toute erreur ou lacune dans le résumé.

Je suppose que tu aimes

Origine blog.csdn.net/weixin_44048668/article/details/108702065
conseillé
Classement