Resumen de aprendizaje de Java: 16

Clase interna anónima

La clase interna anónima se refiere a una clase interna sin nombre, que debe definirse sobre la base de una clase o interfaz abstracta.
Ejemplo: uso de clases internas anónimas para simplificar la definición de clase

interface Message{	//定义接口
    public void print();
}
public class Test1_1_4_9 {
    public static void main(String args[]){
        fun(new Message(){	//直接实例化接口对象
            public void print(){	//匿名内部类中覆写print()方法
                System.out.println("Hello World");
            }
        });		//传递匿名内部类实例化
    }
    public static void fun(Message msg){	//接收接口对象
        msg.print();
    }
}
//结果
//Hello World

Contenedor de tipo de datos básico

Java proporciona las clases correspondientes para los tipos de datos básicos, que se denominan envoltorios.
Clase de empaquetado de objetos (subclase directa de objeto): personaje, booleano.
Clase de empaquetado numérico (subclase directa de número): Byte, Short, Integer, Long, Float, Double.
Acerca de la definición de la clase Number:
Number es una clase abstracta, que define un total de 6 métodos de operación: intValue (), doubleValue (), floatValue (), byteValue (), shortValue (), longValue ().

Operaciones de boxeo y unboxing

Operación de boxeo: cambie el tipo de datos básicos en la forma de una clase de empaque;
cada método de construcción de clase de empaque puede recibir variables de su propio tipo de datos;
operación de desempaquetado: saque los datos empaquetados del empaque;
use la herencia de la clase Number Se completa una serie de métodos xxxValue ().

Ejemplo: uso de int e Integer

public class Test1_1_5_11 {
    public static void main(String args[]){
        Integer obj=new Integer(10);	//将基本数据类型装箱(构造方法实例化)
        int temp=obj.intValue();	//将基本数据类型拆箱
        System.out.println(temp*2);	//数学计算
    }
}
//结果
//20

Ejemplo: usar doble y doble

public class Test1_1_5_11 {
    public static void main(String args[]){
        Double obj=new Double(10.2);	//装箱
        double temp=obj.doubleValue();	//拆箱
        System.out.println(temp*2);
    }
}
//结果
//20.4

Ejemplo: embalaje y desembalaje automático

public class Test1_1_5_11 {
    public static void main(String args[]){
        Integer obj=10;		//自动装箱(直接装箱实例化)
        int temp=obj;		//自动拆箱
        obj++;
        System.out.println(temp*obj);
    }
}
//结果
//110

Si utiliza el método de creación de instancias de boxeo directo, se utilizará el mismo espacio de memoria de almacenamiento dinámico y el objeto de empaquetado creado por el constructor abrirá un nuevo espacio de memoria de almacenamiento dinámico. Por lo tanto, el método más confiable para la comparación equitativa de los datos de empaquetado es igual a ().

Use la clase Object para recibir todos los tipos de datos.

Proceso:
1. Tipo de datos básicos
2. Empaque automático (convertirse en un objeto)
3. Transformación ascendente a Objeto

Ejemplo: use Object para recibir tipos de datos

public class Test1_1_5_11 {
    public static void main(String args[]){
       Object obj=10;	//先自动装箱后再向上转型,此时不能进行科学计算
       //Object不可能直接向下转型
       //所以要取出基本数据类型必须首先向下转型为指定的包装类
       int temp=(Integer)obj;	//向下变为Integer后自动拆箱
       System.out.println(temp*2);
    }
}
//结果
//20

Conversión de tipo de datos

Métodos de uso común para cambiar el tipo de datos String a tipos de datos básicos
Clase entera: public static int parseInt (String s);
Clase doble: public static double parseDouble (String s);
Clase booleana: public static boolean parseBoolean (String s);

Ejemplo: cambiar la cadena en datos int

public class Test1_1_5_1 {
    public static void main(String args[]){
        String str="123";	//字符串
        int temp=Integer.parseInt(str);	//将字符串转换为int型数据
        System.out.println(temp*2);
    }
}
//结果
//246

Nota: Si desea convertir los datos de una cadena en un número, debe asegurarse de que los caracteres definidos en la cadena sean todos números, si hay caracteres no numéricos, la conversión será anormal.

Ejemplo: convertir el tipo de datos básico a datos de tipo de cadena

public class Test1_1_5_1 {
    public static void main(String args[]){
        int num=100;
        String str=String.valueOf(num);	//变为String型
        System.out.println(str.replaceAll("0","9"));
    }
}
//结果
//199
49 artículos originales publicados · 25 elogiados · 1532 visitas

Supongo que te gusta

Origin blog.csdn.net/weixin_45784666/article/details/104362021
Recomendado
Clasificación