Puntos de conocimiento básico de JAVA del aprendizaje JAVA

Los clásicos del desarrollo de combate real de JAVA se han leído muchas veces. Después de mucho tiempo, se terminará un libro. Los conceptos básicos ya están claros, pero todavía hay algunos puntos clave de conocimiento para tomar notas aquí, ¡para enfatizar!

 

Uno, declaración de cambio

El tipo de expresión después del cambio en Java solo puede ser el siguiente:

byte, short, char, int; después de JDK1.5, también se admiten las clases de enumeración; después de JDK1.7, se admite el juicio sobre String.

Nota: long no se puede utilizar como parámetro de interruptor.

 

2. Operadores lógicos, ¿por qué hay dos operaciones AND y OR?

Y se divide en cortocircuito y "&&" y sin cortocircuito y "&", o en cortocircuito o "||" y sin cortocircuito o "|".

Para AND, se requiere que se juzguen todas las condiciones, y si se usa el Y de cortocircuito y la primera condición es falsa, las condiciones subsiguientes ya no se juzgarán.

Para OR, se requiere que se juzguen todas las condiciones, y si se usa un OR de cortocircuito y la primera condición es verdadera, ya no se juzgarán las siguientes condiciones.

 

Tres, declaración de datos y asignación de memoria.

Nombre de matriz de tipo de datos [] = nulo; // Declarar una matriz unidimensional

Nombre de la matriz = nuevo tipo de datos [longitud]; // Asignar memoria a la matriz

O nombre de matriz de tipo de datos [] = nuevo tipo de datos [número]

Una vez que se declara la matriz, el nombre de la matriz se guarda realmente en la memoria de la pila (de hecho, se guarda la dirección de referencia a un grupo de memoria), y luego la memoria requerida por la matriz se configura en la memoria del montón.

Explicación de la memoria de la pila: en las operaciones de matriz, el nombre de la matriz siempre se almacena en la memoria de la pila. La matriz que solo abre el espacio de la memoria de la pila nunca se puede usar. Debe tener la memoria de pila apuntada antes de que se pueda usar La nueva memoria de pila debe usar la palabra clave new, y luego el derecho a usar esta memoria de pila se transfiere al espacio de memoria de pila correspondiente, y varios espacios de memoria de pila pueden señalar un espacio de memoria de pila al mismo tiempo.

El formato de declaración de una matriz bidimensional:

Nombre de matriz de tipo de datos [] [];

Nombre de matriz = nuevo tipo de datos [número de filas] [número de columnas];

Nota: Java permite que el número de elementos en cada fila de una matriz bidimensional sea desigual.

 

Cuarto, la definición del método

El formato completo de la definición del método en Java:

Autoridad de acceso {público | predeterminado | protegido | privado} [final] [estático] [sincronizado] Tipo de valor de retorno | nombre de método vacío (tipo de parámetro nombre de parámetro, ...) [lanza Exception |, Exception2] {

    [retrun [Valor devuelto | Volver al lugar de llamada]];

}

La sobrecarga de un método significa que el nombre del método es el mismo, pero el tipo de parámetro y el número de parámetros son diferentes. Las llamadas a métodos de diferentes funciones se pueden completar pasando el número y los tipos de parámetros.

Nota: La sobrecarga de métodos solo debe diferir en el tipo o número de parámetros.

 

Cinco conceptos básicos orientados a objetos

Hay tres características principales: encapsulación, herencia y polimorfismo.

La encapsulación tiene dos significados: uno se refiere al atributo y comportamiento del objeto como un todo inseparable, el otro significado se refiere al "ocultamiento de la información".

El mecanismo de encapsulación se manifiesta en el diseño del programa como la combinación de las variables que describen las propiedades del objeto y los métodos para implementar las funciones del objeto, definiéndolo como una unidad de programa y asegurando que el mundo exterior no pueda cambiar arbitrariamente sus valores de atributos internos, ni ¿Puede movilizar arbitrariamente sus propiedades internas? Enfoque funcional. Otra característica del mecanismo de encapsulación es que proporciona diferentes niveles de "visibilidad" o derechos de acceso para las variables y métodos encapsulados en un todo.

Herencia: La clase heredada se llama clase padre o superclase, y la clase producida por herencia se llama subclase o clase derivada. De acuerdo con el mecanismo de herencia, la clase derivada hereda todos los miembros de la superclase y agrega algunos miembros nuevos en consecuencia.

El mecanismo de herencia en la programación orientada a objetos mejora en gran medida la reutilización del código del programa, mejora la eficiencia del desarrollo de software, reduce la posibilidad de errores del programa y también brinda conveniencia para la modificación y expansión del programa. (Herencia única, herencia múltiple; herencia única JAVA)

Polimorfismo: El polimorfismo es un fenómeno que permite duplicar nombres en programas. JAVA contiene dos formas de polimorfismo: sobrecarga de método y polimorfismo de objeto.

Sobrecarga de métodos: en una clase, varios métodos pueden usar el mismo nombre, pero los parámetros del método son diferentes y las funciones completadas también son diferentes.

Polimorfismo de objeto: los objetos de subclase se pueden convertir en objetos principales, y las funciones completadas son diferentes según la subclase utilizada.

La creación y uso de objetos: nombre de clase nombre de objeto = nulo; nombre de objeto = nuevo nombre de clase ();

Los nombres de todos los objetos se almacenan en la memoria de pila y el contenido específico del objeto se almacena en la memoria de pila correspondiente. La palabra clave new debe usarse para abrir el espacio de memoria de pila y se guarda la información de atributos del objeto. en la memoria del montón.

Método de construcción: la función principal del método de construcción en el programa orientado a objetos es inicializar las propiedades en la clase.

El nombre del constructor debe ser coherente con el nombre de la clase. La declaración del constructor no puede tener ninguna declaración del tipo de valor de retorno. No puede usar return en el constructor para devolver un valor.

El método de construcción también puede estar sobrecargado, pero el tipo de parámetro o el número de parámetros de cada método de construcción es diferente.

Los objetos anónimos son objetos cuyos nombres no se dan explícitamente. Generalmente, los objetos anónimos se usan solo una vez, y los objetos anónimos solo abren espacio en la memoria de pila y no hay ninguna referencia a la memoria de pila.

Palabra clave estática: atributos globales (atributos estáticos), métodos de clase. Las propiedades y métodos declarados usando static se pueden llamar directamente por el nombre de la clase.Las propiedades estáticas son compartidas por todos los objetos y todos los objetos pueden operar sobre ellas.

Nota: Los métodos declarados no estáticos pueden llamar a propiedades o métodos declarados estáticos, pero los métodos declarados estáticos no pueden llamar a propiedades o métodos declarados de tipo no estático.

Si necesita limitar la generación de objetos de clase, puede privatizar el constructor.

Bloque de código: un bloque de código se refiere a un fragmento de código incluido en {}. De acuerdo con las palabras clave de ubicación y declaración, el bloque de código se puede dividir en cuatro tipos: bloque de código ordinario, bloque de construcción, bloque de código estático y bloque de código síncrono .

Bloque de código común: se refiere a un bloque de código definido directamente en un método o declaración.

Construir bloque de código: bloque de código escrito directamente en la clase.

El bloque de construcción se ejecuta antes que el método de construcción, y el código del bloque de construcción se ejecutará cada vez que se cree una instancia de un objeto, y se ejecutará varias veces.

Bloque de código estático: un bloque de código declarado con la palabra clave estática.

El bloque de código estático se ejecuta antes que el método principal, y el bloque de código estático definido en la clase se ejecuta antes que el bloque de construcción, y no importa cuántos objetos se generen, el bloque de código estático se ejecuta solo una vez.

La única ventaja de la clase interna es que puede acceder fácilmente a las propiedades privadas de la clase externa. 

Use static para definir clases internas: las clases internas declaradas con static se convierten en clases externas, pero las clases internas declaradas con static no pueden acceder a propiedades de clases externas no estáticas.

Acceda a la clase interna desde el exterior: clase externa clase interna clase interna objeto = instancia de clase externa nueva clase interna ();

Defina la clase interna en el método: La clase interna definida en el método no puede acceder directamente a los parámetros en el método. Si los parámetros en el método quieren ser accedidos por la clase interna, la palabra clave final debe agregarse antes de los parámetros.

 

Seis artículos avanzados orientados a objetos

Herencia: Java solo permite la herencia múltiple, no la herencia múltiple. Es decir, solo se permite la herencia única en Java y no se puede utilizar la herencia múltiple, es decir, una subclase solo puede heredar una clase principal. Sin embargo, se permite la herencia múltiple, es decir, una subclase puede tener una clase principal y una clase principal también puede tener una clase principal.

La subclase no puede acceder directamente a los miembros privados de la clase principal. La subclase puede llamar a métodos no privados en la clase principal, pero no puede llamar directamente a los miembros privados de la clase principal.

El proceso de instanciación del objeto de subclase: En la operación de herencia, también se requiere la instanciación del objeto de subclase, es decir, el objeto de subclase debe llamar primero al constructor en la clase principal antes de instanciar el método de construcción propio de la subclase.

Anulación de método: la denominada anulación de método significa que la subclase define un método con el mismo nombre que la clase principal, pero los permisos deben considerarse cuando el método anula, es decir, el método anulado por la subclase no puede ser más restrictivo que el método de clase padre Derechos de acceso.

Cuando se sobrescribe el método, el método llamado por el objeto de subclase será el método sobrescrito. Si desea acceder al método de la clase principal en el método de la subclase, use la palabra clave super.

Cobertura de atributo: si la subclase y la clase padre declaran el atributo con el mismo nombre, se debe adoptar el "principio de acceso más cercano" al acceder directamente en la subclase, es decir, buscar la propiedad en esta clase primero, si se desea llame a la clase principal en este momento. Los atributos en el formato "super. Atributos" se pueden usar directamente.

El rol de la súper palabra clave: use la súper palabra clave para llamar al constructor, a los métodos comunes y a las propiedades de la clase principal de la subclase.

Palabra clave final: la clase declarada con final no puede tener subclases; el método declarado con final no puede ser sobrescrito por subclases; la variable declarada con final se convierte en constante y la constante no se puede modificar.

El concepto básico de clases abstractas: las reglas de definición y uso de las clases abstractas son las siguientes: la clase que contiene un método abstracto debe ser una clase abstracta; tanto las clases abstractas como los métodos abstractos deben declararse con la palabra clave abstracta; los métodos abstractos solo necesitan declararse pero no implementarse; abstracto La clase debe ser heredada por la subclase, y la subclase (si no es una clase abstracta) debe anular todos los métodos abstractos en la clase abstracta.

El concepto básico de la interfaz: una interfaz se compone de todas las constantes y métodos abstractos públicos. Cabe señalar que el método abstracto en la interfaz debe definirse como acceso público, que es absolutamente inalterable. Una clase puede implementar múltiples interfaces al mismo tiempo, por lo que en realidad esto elimina las limitaciones de la herencia única de Java.

En Java, una clase abstracta puede implementar múltiples interfaces, pero una interfaz no puede heredar clases abstractas, pero una interfaz puede heredar múltiples interfaces.

Polimorfismo de objetos: El polimorfismo es uno de los conceptos más importantes en la orientación a objetos Hay dos formas principales de extracción en Java: (1) Sobrecarga y sobrescritura de métodos. (2) Polimorfismo de objetos.

El polimorfismo de los objetos se divide principalmente en los dos tipos siguientes: (1) Transformación ascendente: objeto de subclase -> objeto de clase padre (2) Transformación descendente: objeto de clase padre -> objeto de clase hijo. Para la transformación ascendente, el programa se completará automáticamente, y para la transformación descendente, se debe especificar claramente el tipo de subclase a transformar.

Nota: Antes de la transformación hacia abajo del objeto, la transformación hacia arriba del objeto debe ocurrir primero; de lo contrario, se producirá la excepción de transformación del objeto.

Instanceof palabra clave: en Java, puede usar la palabra clave instanceof para determinar qué instancia de un objeto es. El formato es el siguiente:

        Instancia de objeto de clase ——> devolver tipo booleano

Dado que el objeto instanciado por la subclase también es una instancia de la subclase y la clase principal, se puede transformar directamente hacia arriba o hacia abajo, pero si la clase principal se usa directamente para instanciar el objeto de esta clase, ya no debe ser una instancia de la subclase, por lo que no se puede transformar.

Extensión de clases internas: de hecho, se pueden definir múltiples interfaces o clases abstractas en una clase abstracta, y también se pueden definir múltiples clases o interfaces abstractas en una interfaz.

La relación entre clases abstractas e interfaces:

En el diseño de una clase, debemos recordar claramente un principio. Una clase no debe heredar una clase ya implementada, sino que solo puede heredar clases abstractas o implementar interfaces. Si se pueden usar tanto las interfaces como las clases abstractas, entonces use las interfaces sin prisa y evite Limitación de herencia única.

Clase de objeto: todas las clases en Java tienen un objeto de clase padre común. Si una clase no hereda obviamente una clase, debe ser una subclase de la clase de objeto. Los métodos principales de la clase Object:

Objeto público ();   

public boolean es igual a (Object obj);

public int hashCode ();

public String toString ();

De hecho, para una clase bien diseñada, es mejor anular los métodos equals (), hashCode () y toString () en la clase Object.

Nota: El método equals () proporcionado por la clase Object compara direcciones de forma predeterminada.

Recibir objetos de cualquier tipo de referencia: dado que la clase Objeto es la clase principal de todos los objetos, todos los objetos se pueden convertir a Objeto, que también incluye matrices y tipos de interfaz, es decir, todos los tipos de datos de referencia pueden usar Objeto para recibir.

Clase interna anónima: además de las clases internas en Java, también hay una clase interna anónima. Una clase interna anónima se refiere a una clase sin un nombre específico, este concepto se desarrolla en la aplicación de interfaces y clases abstractas. La función de la clase interna anónima es usar la clase interna para crear un objeto sin nombre y usarlo para acceder a los miembros de la clase.

 

Captura y manipulación anormales:

Una excepción es un flujo de instrucciones que provoca la interrupción de un programa. Si la excepción no se maneja correctamente, puede provocar la interrupción del programa. Todas las excepciones en Java se basan en ideas de diseño orientadas a objetos. Todas las excepciones existen en forma de clases y objetos. Además de las diversas clases de excepciones ya proporcionadas en Java, los usuarios también pueden definir sus propias clases de excepciones según sea necesario.

La clase principal de excepciones más grande es Throwable, que se divide en dos subclases, Excepción y Error. Exception representa la excepción manejada por el programa y puede manejarse directamente con try ... catch ... Error indica un error de JVM, que no se puede manejar en el programa.

Nota: Todas las excepciones con un rango de captura pequeño en Java deben colocarse antes que las excepciones con un rango de captura grande; de ​​lo contrario, aparecerá un mensaje de error cuando se compile el programa. Después de que ocurra una excepción, la JVM generará automáticamente un objeto instanciado de la clase de excepción y coincidirá con el tipo de excepción en la declaración de captura correspondiente. También puede usar la relación de transformación ascendente del objeto para capturar directamente todas las excepciones a través de Exception.

throws se usa en la declaración del método para indicar que el método no maneja excepciones. Lanzar significa lanzar manualmente una excepción en el método.

Al personalizar la clase de excepción, solo necesita heredar la clase de excepción.

 

 

 

 

 

 

 

Supongo que te gusta

Origin blog.csdn.net/MYBOYER/article/details/107124412
Recomendado
Clasificación