20200724-Java-Clases abstractas, interfaces

20200724-Java-Clases abstractas, interfaces

1. Las reglas de reescritura de métodos.
Cuando la subclase hereda la clase principal, el tipo de valor de retorno, el nombre del método y la lista de parámetros son los mismos que los de la clase principal. El modificador de acceso de la subclase no debe ser menor que la clase principal, y las excepciones lanzadas no deben ser más estrictas que la clase principal y el cuerpo del método. diferente

2. ¿Qué es polimorfismo?
Hay herencias, anulaciones y referencias de clase principal que apuntan a objetos de clase secundaria,
tipo de clase principal como parámetro,
tipo de clase principal como valor de retorno,
objeto de clase secundaria se refiere al método de clase principal

3.
Up-casting : la referencia de la clase principal apunta al objeto de la subclase. El
nombre del objeto de tipo principal = nuevo y el tipo de subclase ()
no pueden usar las propiedades y métodos únicos de la subclase en este momento

// En la subclase, el método toHospital () en la clase padre se reescribe pet.toHospital (); se llamará a toHospital de la clase Dog en lugar de la clase Pet

Resumen: un objeto que apunta a una subclase por una referencia de clase principal se llama up-casting. En este momento, la subclase llama a la variable de referencia de clase principal para invalidar o heredar el método de la clase principal, y la clase principal hace referencia al método de la clase principal. Las variables no pueden llamar a métodos específicos de subclase (por ejemplo, la clase Dog contiene un método único catchingFlyDisc (), que es exclusivo de las subclases y no puede ser llamado por una mascota)

Abatido : el objeto y el tipo de abatimiento son los mismos.
Utilice la palabra clave instanceof para determinar el tipo.
Conversión de tipo coercitivo

El propietario puede ver a un médico para cualquier mascota, pero solo puede recoger el frisbee con el perro, por lo que no puede jugar al frisbee con la mascota antes de que se determine que la mascota es un perro. En este momento, se requiere una conversión de tipo forzada. Perro perro = (Perro) mascota; dog.catchingflyDise ();

4. Interfaz
No se puede crear una instancia de
la interfaz . Utilice la palabra clave interface para definir la interfaz y la
palabra clave implements para implementar la
interfaz. La interfaz puede ser de múltiples implementaciones (una clase puede implementar múltiples interfaces). Separe la interfaz con una coma
. Todos los métodos en la interfaz no pueden ser instanciados por defecto. Uno de los propósitos de la interfaz del método abstracto público es establecer un estándar

Parte del código:

Categoria principal:

public class Computer implements CPU,EMS,HardDisk {
    
    
    String brind;
    String frquency;
    String capacity;
    String volum;

    public Computer() {
    
    
    }

    public Computer(String brind, String frquency, String capacity, String volum) {
    
    
        this.brind = brind;
        this.frquency = frquency;
        this.capacity = capacity;
        this.volum = volum;
    }

    @Override
    public void brind() {
    
    
        System.out.println("品牌是:"+brind);
    }

    @Override
    public void frequency() {
    
    
        System.out.println("频率是:"+frquency);
    }

    @Override
    public void capacity() {
    
    
        System.out.println("硬盘容量是:"+capacity);
    }

    @Override
    public void volum() {
    
    
        System.out.println("内存容量是:"+volum);
    }
}

Tres interfaces:

public interface CPU {
    
    
    void brind();
    void frequency();

}
public interface EMS {
    
    
    void capacity();

}
public interface HardDisk {
    
    
    void volum();
}

Categoría de prueba:

public class Test {
    
    
    public static void main(String[] args) {
    
    
        Computer computer = new Computer("Intel","3.8HZ","3000GB","4G");
        computer.brind();
        computer.frequency();
        computer.capacity();
        computer.volum();
    }
}

Resultado del procedimiento:

品牌是:Intel
频率是:3.8HZ
硬盘容量是:3000GB
内存容量是:4G

Supongo que te gusta

Origin blog.csdn.net/qq_42005540/article/details/107553800
Recomendado
Clasificación