1. Tipos de datos básicos
Cirugía plástica:
byte 1 byte
2 bytes cortos
entero 4 bytes
largo 8 bytes
personaje:
carácter 2 bytes
Número de coma flotante:
flotante 4 bytes
doble 8 bytes
Booleano:
booleano 1 byte
2.java 7 agrega nuevos enteros binarios
Comience con 0b o 0B
3. Los caracteres en Java tienen codificación Unicode de 16 bits, el formato es '/uXXXX', donde xxxx representa un entero hexadecimal.
4. Java estipula infinito positivo, infinito negativo y cero.
Infinito positivo = un número positivo dividido por 0
Infinito negativo = un número negativo dividido por cero
Divida 0,0 entre 0,0 o saque la raíz cuadrada de un número negativo para obtener un número no
5. Los tipos booleanos en Java solo pueden ser verdadero y falso
6. No existe una matriz multidimensional en Java.
Parece que las matrices multidimensionales en lenguaje C no son matrices reales. Por ejemplo, a[3][4], a[0] a[1] a[2] son reales y están llenas de direcciones. son dinámicos en lenguaje C. Lo mismo que la matriz asignada como.
int [][] b = nuevo int[3][4]
7. Método de compilación con paquete en Java.
javac -d Hello.java generará un árbol de directorios en el directorio actual.
Ejecute el nombre del paquete java.nombre de clase
8. El campo de los objetos en el polimorfismo de Java no tiene polimorfismo, como objeto de clase principal = nueva subclase (), object.field se llama clase principal, incluso si el campo está cubierto en la subclase.
9. instancia del operador
Formato: nombre de variable de referencia instancia del nombre de clase (o interfaz) Se utiliza para determinar si el objeto anterior es una instancia de la clase, subclase o clase de implementación del siguiente objeto. Si es así, devuelve verdadero; de lo contrario, devuelve falso.
10. Conversión entre tipos de datos básicos y clases de encapsulación correspondientes en Java
int a = 1;
Entero A = nuevo Entero(a);
a = A.intValue();
Lo mismo ocurre con otros tipos.
11. Ejemplo de clase Singleton
principal vacío estático público (String [] argumentos)
{
Singleton s1 = Singleton.getInstance();
Singleton s2 = Singleton.getInstance();
System.out.println(s1 == s2);
}
}
Campo de clase: el valor inicial debe especificarse en un bloque de inicialización estático o al declarar el campo.
Campo de instancia: debe declararse en un bloque de inicialización no estático o especificando un valor inicial o constructor al declarar el campo.
13. Las variables finales deben inicializarse explícitamente. El sistema no inicializará implícitamente las variables finales.
14.java usará el grupo de constantes para administrar las constantes de cadena directas que se han usado antes, por ejemplo: String a = "java";, el sistema guardará la cadena constante "java" en el grupo de constantes, y cuando String b = "java"; se ejecuta nuevamente, a == b es verdadero
15. Los métodos finales no se pueden anular y las clases finales no se pueden heredar.
Si se utiliza el método privado, es lo mismo que el privado final.
Si un método modificado con final aparece en una subclase, la subclase lo define recientemente y no tiene nada que ver con la clase principal.
16. Clase inmutable: el campo de esta clase no se puede cambiar después de la creación. Java proporciona ocho clases contenedoras de variables básicas y las clases de cadenas son inmutables.
17. Clases inmutables que almacenan en caché instancias.
público booleano es igual (Objeto obj)
{
si(esto == obj)
devolver verdadero;
if(obj!= null && obj.getClass() == CacheImmutale.class)
{
CacheImmutale ci = (CacheImmutale)obj;
devolver nombre.equals(ci.getName());
}
devolver falso;
}
código hash int público()
{
devolver nombre.hashCode();
}
}
clase pública CacheImmuteTest
{
principal vacío estático público (String [] argumentos)
{
CacheImmutale c1 = CacheImmutale.valueOf("Hola");
CacheImmutale c2 = CacheImmutale.valueOf("Hola");
System.out.println(c1 == c2);
}
}
También existe java.lang.Integer proporcionado por Java, que utiliza un mecanismo de almacenamiento en caché para crear números entre -128-127.
Entero in2 = Integer.valueOf(6);
Entero in3= Entero.valueOf(6);
en2 == en3 es verdadero;
18. Estático y abstracto no pueden modificar un método al mismo tiempo. No existe un método abstracto de clase.
19. Una clase puede tener una clase principal e implementar múltiples interfaces. En la interfaz, Filed es público, estático y final, y el método es público abstracto.
20. Cuando un método de una clase interna no estática accede a una variable, el orden de búsqueda es: primero dentro del método en la clase interna -> clase interna -> si no se encuentra en la clase externa, se producirá un error de compilación.
clase pública DiscernirVariable
{
private String prop = "Variable de instancia de clase externa";
clase privada en clase
{
private String prop = "Variable de instancia de clase interna";
información pública nula()
{
Prop de cadena = "variable local";
System.out.println("Valor de campo de clase externa: " + DiscernVariable.this.prop);
System.out.println("Valor de campo de la clase interna: " + this.prop);
System.out.println("Valor de la variable local: " + prop);
}
}
prueba de vacío público ()
{
InClass en = nueva InClass();
en.info();
}
principal vacío estático público (String [] argumentos)
{
nueva DiscernVariable().test();
}
}
22. Acceder a clases internas fuera de las clases externas
Acceda a clases internas no estáticas: outclass.Inclass varname = new outclass().new InClass();
Acceda a clases internas estáticas: outclass.Inclass varname = new outclass.Inclass();
clase fuera
{
clase en
{
publicIn()
{
System.out.println("Constructor de clase interna no estática");
}
}
}
clase públicaCreatInnerInstance
{
principal vacío estático público (String [] argumentos)
{
Salida.Entrada = nueva Salida().nueva Entrada();
/*
El código anterior se puede escribir por separado como:
Fuera, dentro, dentro;
Fuera fuera = nueva Salida();
entrada = salida.nueva Entrada();
*/
}
}
clase Subclase extiende Out.In
{
//Muestra el constructor que define SubClass
Subclase pública (fuera)
{
//Muestra el constructor que llama a In a través del objeto Out transferido
fuera.super();
}
}
clase estática
{
clase estática StaticIn
{
Entrada estática pública()
{
System.out.println("constructor de clase interna estática");
}
}
}
clase pública CreatStaticInnerInstance
{
principal vacío estático público (String [] argumentos)
{
StaticOut.StaticIn en = nuevo StaticOut.StaticIn();
/*
El código anterior se puede escribir por separado como:
StaticOut.StaticIn en;
en = nuevo StaticOut.StaticIn();
*/
}
}
clase SubClass extiende StaticOut.StaticIn
{
//No es necesario crear una instancia de clase interna
}