A relação entre notas de estudo Java 08 classes

final é a classe final e não pode ser herdada.
O método de construção primeiro executa o método de construção da classe pai e, em seguida, executa o método de construção da subclasse.

Abaixo eu simplesmente escrevi três classes para verificar a ordem de execução do construtor


public class A1 {
    
    
     public int pf(int i){
    
    
         System.out.println("Parent....pf");
         return i*i;
     }

     public A1(int i){
    
    
         System.out.println("父类构造A1(int i)");
     }
     static {
    
    
         System.out.println("父类构造A1-static");
     }
    {
    
    
        System.out.println("父类构造A1-init");
    }
}

public class B1 extends A1{
    
    


    public B1(int i) {
    
    
        super(i);
        System.out.println("A1的儿子,子类构造B1(int i)");
    }

    /**
     * 方法的重载
     * 当参数,返回值相同时是重写
     */
    public double pf(double d){
    
    
        return d*d;
    }
    static {
    
    
        System.out.println("A1的儿子,子类构造B1-static");
    }
    {
    
    
        System.out.println("A1的儿子,子类构造B1-init");
    }



}

public class C1 extends B1{
    
    
    public C1(int i) {
    
    
        super(i);
        System.out.println("B1的儿子,子类构造C1(int i)");
    }



    static {
    
    
        System.out.println("B1的儿子,子类构造C1-static");
    }

    {
    
    
        System.out.println("B1的儿子,子类构造C1-init");
    }
}

O resultado da execução é mostrado na figura abaixo

insira a descrição da imagem aqui
1. Execute primeiro o código estático da classe pai e, em seguida, execute o código estático da subclasse.
2. Execute o bloco de inicialização e o método de construção da classe pai e, em seguida, execute a subclasse.
Se instanciado novamente, o bloco estático não é mais executado.

classe abstrata

1. Quando uma classe abstrata é declarada, classe abstrata(), nome da classe {}

2. Classes abstratas não podem ser instanciadas diretamente.

3. Uma classe abstrata pode ter um método abstrato abstract void show(); não pode haver corpo de método

4. Métodos abstratos não podem ser modificados com private.

5. As classes abstratas são mais como uma especificação de programação.

6. Uma classe com métodos abstratos deve ser uma classe abstrata. Uma classe abstrata pode ter métodos abstratos, métodos comuns ou nenhum método abstrato.

Acho que você gosta

Origin blog.csdn.net/xxxmou/article/details/129071451
Recomendado
Clasificación