Java ¡Vamos, vamos, vamos! ! ! ! !

Conceptos básicos de Java
1, tres características principales, encapsulación, herencia, polimorfismo
2, excepción
3, subprocesos múltiples
4, colección
5, reflexión
6, red
7, flujo de E / S

1. Tres características principales Comprensión de la
encapsulación
: privatizar las variables de los miembros de la clase y proporcionar interfaces de acceso externas.
Características:
1. Establecer las variables de los miembros de la clase como privadas y solo exponer las interfaces de acceso públicas, lo que mejora la seguridad de la clase y evita modificaciones arbitrarias por parte del mundo exterior
2. Desacoplamiento, capaz de prestar más atención a los detalles sin cambiar la propia interfaz
Desventajas:
1. Fácil de romper, como la herencia
Ejemplo:
/ ** * @author wys * @date 2021/1/12 5: 27 PM / clase pública Usuario {nombre de cadena privada; edad entera privada; cadena pública getName () {nombre de retorno;} setName público void (nombre de cadena) {this.name = nombre;} getAge de entero público () {edad de retorno;} public void setAge (Integer age) {this.age = age;}} Copiar código
Herencia
Comprensión: La subclase hereda de la clase principal
Características:
1. La subclase hereda de la clase principal a través de la palabra clave extiende
2. A través de la herencia, la reutilización de clases se realiza, evitando mucha duplicación de código
Desventajas:
1. La herencia destruye la encapsulación. Si la subclase depende demasiado de la clase principal, causará acoplamiento.
Ejemplo:
/
* * @author wys * @date 2021/1/12 5:46 pm * Por ejemplo, nuestros teléfonos móviles se pueden dividir en diferentes marcas, pero cada marca debe tener un nombre y precio * para que se pueda abstraer un teléfono móvil universal Para definir el nombre y el precio / clase pública Phone {private String name; private BigDecimal price; public String getName () {return name;} public void setName (String name) {this.name = name;} public BigDecimal getPrice () { return price;} public void setPrice (precio BigDecimal) {this.price = price;} @Override public String toString () {return "nombre:" + this.getName () + "price:" + this.getPrice (); }} clase pública MiPhone extiende el teléfono {public void desc () {System.out.println ("Este es un teléfono Xiaomi");}} clase pública IPhone extiende el teléfono {public void desc () {System.out.println (" Esto es iPhone ");}} /* * @author wys * @date 2021/1/12 5:50 PM * / public class Main {public static void main (String [] args) {MiPhone mi = new MiPhone (); mi.setName ("小米 手机" ); mi.setPrice (new BigDecimal ("2000")); System.out.println (mi.toString ()); IPhone iPhone = nuevo IPhone (); iPhone.setName ("teléfono móvil de Apple"); iPhone.setPrice (new BigDecimal ("8000")); System.out.println (iPhone.toString ());}}
Reglas heredadas:

Herencia única: una clase solo puede heredar una clase principal.
Herencia múltiple: una clase puede tener varias relaciones jerárquicas, como B hereda A y C hereda el
polimorfismo B.
Comprensión: múltiples formas de una cosa, diferentes objetos de instancia de la misma interfaz

Requisitos previos: herencia, reescritura y referencias de clases principales que apuntan a subclases
Ventajas:
1. Expansión de código mejorada
2. Desacoplamiento de relaciones entre tipos
Desventajas:
1. Las clases principales no pueden usar funciones específicas de subclase
Ejemplo:
/ ** * @author wys * @date 2021/1/13 10:29 AM * / public interface Phone {void desc ();} public class IPhone implementa Phone {@Override public void desc () {System.out.println ("iPhone");}} public class MiPhone implementa el teléfono {@Override public void desc () {System.out.println (" millet phone");}} copia la
clave de código
esto:
esto se refiere a la clase actual en el objeto, por ejemplo, la subclase hereda el clase principal y reescribe el método de la clase principal. Puede usar la palabra clave this para llamar al método de subclase
super:
super se refiere al objeto de clase principal, y puede llamar al método de clase principal
final:
posición modificada:

Clase: la clase no se puede heredar
Método: no se puede anular
Variable: no se puede cambiar
Tipo de referencia modificado: la dirección de memoria del tipo de referencia es inmutable y el valor al que se apunta se puede cambiar.
La variable final modificada se colocará directamente en el grupo de variables. Si una clase llama a la variable final modificada
, la diferencia entre la clase abstracta y la interfaz no se cargará :

Resumen, use la palabra clave extendida para heredar la clase abstracta, use la subclase, use la palabra clave implements para realizar la interfaz. La
clase abstracta puede tener un método abstracto y un método no abstracto, la interfaz solo puede tener un método abstracto, pero la interfaz tiene una palabra clave predeterminada después de jdk1.8. Método body se puede escribir.
Una clase solo puede heredar una clase abstracta y una clase puede implementar múltiples interfaces
. No se pueden crear instancias de interfaz ni de clase abstracta.
Proceso de inicialización de instancia de clase:

Propiedades estáticas de la
clase principal Bloque de código estático de la clase principal
Propiedades estáticas de la subclase Bloque de código estático de la
subclase Bloque de código
ordinario de la
clase principal Variable de miembro ordinario de la
clase principal Método de construcción de la clase principal
Bloque de código
ordinario de la
subclase Variable de miembro ordinario de la subclase Método de construcción de subclase
2, Excepción
3, Subproceso múltiple
4, Colección
5, reflexión
6, red
7, flujo IO

Supongo que te gusta

Origin blog.csdn.net/dcj19980805/article/details/114932472
Recomendado
Clasificación