06-Clases y objetos Java

Fundación orientada a objetos

La Programación Orientada a Objetos se centra en el objeto , distinguiendo la organización interna del objeto del entorno externo, y aislando los datos de atributos internos que caracterizan al objeto del exterior. Su comportamiento y atributos forman un todo, mientras que el sistema funciona Se expresa como una secuencia de interacciones entre una serie de objetos, que pueden simular o expresar el mundo real de manera más vívida.

1. Clase y objeto

  • Clase: descripción abstracta de una clase de cosas con las mismas características.
  • Objeto: un individuo, instancia, existencia concreta de una clase.
  • Las clases son plantillas de diseño para objetos.

1.1 Declaración de clase

【修饰符】 class 类名{
    
    
    成员列表:属性、方法、构造器、代码块、内部类
}

1.2 Creación de objetos

new 类名();  //匿名对象

类名 对象名 = new 类名(); //有名对象

Objeto anónimo:

Sin definir el objeto, pero llamando directamente al método del objeto, dicho objeto se denomina objeto anónimo.

Uso:

  • Si solo se requiere una llamada a un método para un objeto, entonces se pueden usar objetos anónimos.

  • Un objeto anónimo se puede pasar como argumento a una llamada a un método.

2. Miembros de la clase: atributos

2.1 Declaración de atributos

Posición de la declaración : fuera del método en la clase

【修饰符】 class 类名{
    【修饰符】 数据类型  属性名;    //属性有默认值
    【修饰符】 数据类型  属性名 = 值; //属性有初始值
}

Nota: El tipo de atributo puede ser cualquier tipo de Java, incluidos los tipos de datos básicos y los tipos de datos de referencia (clases, interfaces, matrices, etc.)

2.2 asignación de atributos

  1. Asignar valores explícitamente al declarar propiedades
【修饰符】 class 类名{
    【修饰符】 数据类型  属性名 = 值; //属性有初始值
}
  1. Asignar valor después de la creación del objeto
【修饰符】 class 类名{
    
    
    【修饰符】 数据类型  属性名; //属性有默认值
}

//创建对象
类名 对象名 = new  类名();

//为对象的属性赋值
对象名.属性名 =;

2.3 Mecanismo de acceso a la propiedad

  1. En esta categoria

Los métodos de esta clase pueden acceder directamente a las variables miembro de esta clase.
Especial : los miembros estáticos acceden a los miembros no estáticos, la compilación falla

  1. Clase cruzada

Si desea acceder a los miembros de otras clases, debe pasar "objeto. Miembro"

Después de que el usuario crea un objeto con el nuevo operador, puede usar el "objeto. Miembro" para obtener las propiedades y el comportamiento del objeto.

2.4 Características de los atributos

  1. Las propiedades tienen valores predeterminados

[Error en la transferencia de la imagen del enlace externo. El sitio de origen puede tener un mecanismo de enlace anti-sanguijuelas. Se recomienda guardar la imagen y subirla directamente (img-4f3Ur0vI-1605863575082) (C: \ Users \ 徐晓 \ Desktop \ 111. png)]

  1. Las propiedades de cada objeto son independientes y no interfieren entre sí.

2.5 Gráfico de memoria de las propiedades del objeto

class Student{
    
    
    String name;
    char gender = '男';//显式赋值
}

class TestStudent{
    
    
    public static void main(String[] args){
    
    
        Student s1 = new Student();
        System.out.println("姓名:" + s1.name);//null
        System.out.println("性别:" + s1.gender);//男
        
        s1.name = "小薇";
        s1.gender = '女';
        System.out.println("姓名:" + s1.name);//小薇
        System.out.println("性别:" + s1.gender);//女
        
        Student s2 = new Student();
        System.out.println("姓名:" + s2.name);//null
        System.out.println("性别:" + s2.gender);//男
    }
}

Inserte la descripción de la imagen aquí

 

3. Mecanismo de paso de parámetros de método

Mecanismo de paso de parámetro de método en Java: paso de valor

  1. Cuando el parámetro formal es un tipo de datos básico, el parámetro real pasa el valor de los datos al parámetro formal en forma de copia, y la modificación del valor por el parámetro formal no afecta el parámetro real.
  2. Cuando el parámetro formal es un tipo de datos de referencia, el parámetro real pasa el valor de la dirección al parámetro formal, y la modificación del atributo del objeto por el parámetro formal afectará el valor del atributo del objeto de parámetro real, porque el parámetro formal y el parámetro real apunta al mismo objeto en este momento.

4.esta palabra clave

1. Esta palabra clave:

Significado: objeto actual

(1) Si aparece en el constructor: el objeto que se está creando

(2) Si aparece en un método miembro: el objeto que llama a este método

2. El uso de esto:

(1) este. Atributo

Cuando la variable local y la variable miembro tienen el mismo nombre, puede agregar "esto" delante de la variable miembro para distinguir

Si no usa esto para distinguir, siga el principio de proximidad.

(2) este. Método

Llame al método miembro del objeto actual, puede omitir "esto".

5. La diferencia entre variables de instancia y variables locales

  • La posición de la declaración es diferente: las variables de instancia son métodos externos en la clase, las variables locales están dentro de métodos o bloques de código
  • Las ubicaciones de almacenamiento de datos son diferentes: las variables de instancia están en el montón, las variables locales están en la pila
  • El valor inicial es diferente: las variables de instancia tienen valores predeterminados y las variables locales deben inicializarse manualmente
  • Modificadores: las variables de instancia pueden tener múltiples modificadores, y las variables locales solo pueden usar final como máximo
  • Alcance: variables de instancia (se accede directamente en esta clase, se accede a otras clases a través de objetos), las variables locales comienzan desde la declaración y terminan cuando pertenecen
  • Ciclo de vida: las variables de instancia nacen con la creación de objetos y los objetos son recuperados por el mecanismo de recolección de basura. Una variable local es cuando la ejecución del código excede el alcance del alcance, la variable local se vuelve inválida.

Supongo que te gusta

Origin blog.csdn.net/m0_46988935/article/details/109855402
Recomendado
Clasificación