Red de conocimiento informático - Consumibles informáticos - ¿Cuáles son las normas establecidas en las cenas?

¿Cuáles son las normas establecidas en las cenas?

¿Cuáles son las reglas establecidas en las cenas? ¿Cómo decirlo? En realidad, hoy en día no existen reglas para las cenas. Si es así, asegúrate de comer bien, sólo come bien.

Hay muchas reglas más tradicionales para cenar, yo sólo conozco algunas básicas.

No emitas ningún sonido cuando padre e hijo se sientan separados (excepto durante el juego de adivinanzas). Los ancianos (dignatarios) ocupan posiciones privilegiadas. En términos generales, en los hoteles se respeta la posición frente a la puerta, en las viviendas se respeta la posición orientada al sur (en el kang) o al norte (suelo), y en los edificios se respeta la posición frente a la puerta.

No comas hasta que el anfitrión te indique que empieces.

No robes las palabras de tus mayores.

No se puede decir que el maestro no lo sea.

Evita comer indecentemente.

Evita sentarte en una postura incorrecta.

Si acompaña a invitados, debe aconsejarles que no dejen de beber y no puede terminar su comida antes que ellos. Una vez que los invitados hayan terminado de comer, los invitados que los acompañen también deben acostarse y disfrutar de una buena comida.

¿Cuáles son las reglas convencionales?

Anillos de compromiso, cena con amigos y familiares. Depende de las reglas. Mírate a ti mismo.

Modismos reconocidos

Establecidos de conformidad con la Convención

Nuevas palabras

Explicaciones básicas y detalladas

Explicación : Los nombres o hábitos sociales que se refieren a las cosas muchas veces son determinados o formados por las personas a través de una práctica social de largo plazo.

De: Xunzi Zheng Ming: "Un nombre no es fijo, sino que se basa en la vida. Si es convencional, es apropiado. Si es diferente de la convención, es inapropiado". p>

Gramática: combinación; usada como predicado, atributivo y objeto; incluyendo elogios

Chu Chu

Xunzi Zheng Ming: "No hay un nombre propio; es una cita con la vida; es un hábito es apropiado; cualquier cosa distinta al contrato es inapropiada.”

¿Cuáles son las reglas establecidas?

Matar para pagar deudas.

¿Cuáles son las reglas convencionales en el juego del Hombre Lobo?

1. Cuando un hombre lobo mata, todos los hombres lobo deben designar el mismo objetivo antes de matar. Si el hombre lobo no estaba de acuerdo, nadie moriría esa noche.

2. El mestizo apoya a una persona la primera noche (independientemente de la profesión del seguidor), siempre y cuando gane el bando apoyado.

Entonces el mulato gana, sino pierde. El amor entre Cupido y el hombre lobo hizo que Cupido recurriera al campamento de hombres lobo y se convirtiera en un híbrido.

Apoya a los hombres lobo, por lo que las condiciones de victoria son las mismas que las de los hombres lobo, es decir, la victoria de los hombres lobo, es decir, la victoria de Cupido y los híbridos.

3. El liderazgo es un valor numérico en el juego online Werewolf. Como hombre lobo, tiene Liderazgo; cuanto mayor sea el número, el jugador puede decidir matar.

Por ejemplo, si un hombre lobo A con 0 liderazgo mata a 1, y otro hombre lobo B con 1 mata a 2, entonces el jugador 2 está muerto, y

Número 1

¿Cuáles son las cosas establecidas?

Respuesta para ti

Todas las gramáticas estipulan que se establece una ortografía y pronunciación naturales.

¿Cuáles son las reglas estipuladas entre el pueblo She en Jingning?

No se puede matar un pollo sin sangrar afuera.

Deberíamos cantar canciones populares en bodas y funerales.

Cada 3 de marzo se celebra una fiesta de hogueras.

La novia llorará cuando se case.

La novia regresará a casa de sus padres tres días después de la boda.

¿Cuáles son las reglas ocultas en dota?

No hay reglas. ¿Cuáles son las reglas para jugar el juego? A lo sumo, hay auxiliares y salidas, como la salida que toma la iniciativa, la auxiliar que es el líder y la salida que protege la batalla en equipo.

¿Cuáles son las reglas y especificaciones de nomenclatura establecidas en jdk?

Versión 2017 del Manual de desarrollo de Java de Alibaba: hay muchos, solo puedo copiar una parte para obtener más detalles, puede ir a Baidu.

1. Convenciones de programación (1) Convención de nomenclatura 1. Los nombres en código obligatorio no pueden comenzar ni terminar con un guión bajo o un signo de dólar. Contraejemplo: _ nombre/_ _ nombre/$ objeto/nombre _/nombre $/objeto $ 2.

Está prohibido utilizar Pinyin mezclado con nombres en inglés en códigos obligatorios y no se permite el uso directo del chino. Nota: La ortografía y la gramática inglesas correctas facilitan la comprensión de los lectores y evitan la ambigüedad. Tenga en cuenta que se debe evitar incluso la nomenclatura pinyin pura. Ejemplo de contador: DaZhePromotion[descuento]/getPingfenByName()[score]/int Una variable = 3 Ejemplo positivo: Alibaba/Taobao/Youku/Hangzhou y otros nombres internacionales pueden considerarse en inglés. 3. El nombre de la clase debe usar el estilo UpperCamelCase y debe seguir el formato de mayúsculas y minúsculas, excepto en las siguientes situaciones: (nombramiento relacionado con el modelo de dominio) DO/BO/DTO/VO, etc. Ejemplo positivo: Marco polo/userdo/XML service/tcpuddeal/tapromotion Contraejemplo: macro polo/userdo/XML service/tcpuddeal/tapromotion 4. Fuerce que los nombres de métodos, números de parámetros, variables miembro y variables de área utilicen el estilo lowerCamelCase de manera uniforme y deben seguir el formato camel case. Ejemplo positivo: valor local/gethttp message()/input suserid 5. Fuerce que los nombres constantes estén en letras mayúsculas y use guiones bajos para separar las palabras para que la expresión semántica sea completa y clara y no sea demasiado larga. Ejemplo positivo: MAX_STOCK_COUNT Ejemplo de contador: MAX_COUNT 6. El nombre de la clase abstracta debe comenzar con Abstract o Base; el nombre de la clase de excepción termina con Exception; el nombre de la clase de prueba comienza con el nombre de la clase que desea probar y termina con Test. 7. Los corchetes obligatorios son parte del tipo de matriz. La matriz se define de la siguiente manera: String[]args: se define a través de la cadena args[]. 8. Fuerce que todas las variables de tipo booleano en la clase POJO no se agreguen; de lo contrario, algún análisis de cuadros provocará errores de serialización. Contraejemplo: definido como un problema booleano de tipo de datos básico; el método también es problemas (). Cuando el marco RPC realiza un análisis inverso, "pensará" que el nombre del atributo correspondiente es isSuess, lo que provocará que no se obtenga el atributo y luego se generará una excepción. 9. Fuerce el uso de letras minúsculas en los nombres de los paquetes, con solo una palabra en inglés de significado natural entre los separadores de puntos. Los nombres de los paquetes siempre son singulares, pero si el nombre de la clase tiene un significado plural, el nombre de la clase puede ser plural. Ejemplo positivo: el paquete de clase de herramienta de aplicación se llama alibaba.open.util y el nombre de la clase es MessageUtils (esta regla se refiere a la estructura del marco Spring) 10. Se eliminan forzosamente las abreviaturas completamente irregulares para evitar el desconocimiento. Contraejemplo: la "abreviatura" de AbstractClass se denomina AbsClass; la "abreviatura" de la condición se denomina condi, lo que reduce seriamente la legibilidad del código. 11. Se recomienda que si utiliza patrones de diseño, se recomienda que los patrones específicos se reflejen en el nombre de la clase. Descripción: Reflejar el patrón de diseño en el nombre ayuda a los lectores a comprender rápidamente las ideas de diseño arquitectónico. Ejemplo positivo: clase pública OrderFactory clase pública LoginProxy observador de recursos de clase pública 12. Se recomienda que los métodos y propiedades en la clase de interfaz no se modifiquen con ningún símbolo (ni sean públicos), para mantener el código simple; y agregue una nota Javadoc efectiva. Intente no definir variables en las interfaces. Si se debe definir una variable, debe estar asociada con un método de interfaz y ser una constante esencial en toda la aplicación. Ejemplo positivo: Firma del método de interfaz: void f(); Representación constante básica de la interfaz: String COMPANY = " alibaba Ejemplo de contador: Definición del método de interfaz: public abstract void f(); Descripción: La interfaz en JDK8 permite la implementación predeterminada, por lo que este método predeterminado es para Es una implementación predeterminada valiosa para todas las clases de implementación. 13. Hay dos conjuntos de reglas para nombrar interfaces y clases de implementación: 1) Es obligatorio para las clases de Servicio y DAO, según el concepto de SOA, que los servicios públicos deben. be interfaces. Las clases de implementación se distinguen de las interfaces por el sufijo impl.

Ejemplo positivo: CacheServiceImpl implementa la interfaz CacheService. 2) Si se trata de un nombre de interfaz que describe capacidades, se recomienda utilizar el adjetivo correspondiente como nombre de la interfaz (normalmente en forma de –able). Ejemplo positivo: AbstractTranslator es traducible. 14. Se recomienda utilizar el sufijo Enum para hacer referencia al nombre de la clase de enumeración. Los nombres de los miembros de la enumeración deben estar en letras mayúsculas y las palabras deben estar separadas por guiones bajos. Nota: Una enumeración es en realidad una clase constante especial y el constructor está obligado a ser privado de forma predeterminada. Ejemplo positivo: nombre de enumeración: DealStatusEnum, nombre de miembro: SUCCESS/unknown_REASON. 15. Consulte las convenciones de nomenclatura de cada capa: A) Convención de nomenclatura del método de capa de servicio/DAO 1) El método para obtener un único objeto utiliza get como prefijo. 2) El método para obtener múltiples objetos utiliza la lista como prefijo. 3) El método de obtención de valores estadísticos utiliza contar como prefijo. 4) El método de inserción tiene el prefijo guardar (recomendado) o insertar. 5) El método de eliminación tiene el prefijo eliminar (recomendado) o eliminar. 6) El método modificado utiliza actualización como prefijo. b) Convención de nomenclatura del modelo de dominio 1) Objeto de datos: xxxDO, xxx es el nombre de la tabla. 2) Objeto de transferencia de datos: xxxDTO, xxx es el nombre relacionado con el campo comercial. 3) Objeto de visualización: xxxVO, xxx es generalmente el nombre de la página web. 4) POJO es el nombre colectivo de DO/DTO/BO/VO, y está prohibido denominarlo xxxPOJO. (2) Definición constante 1. Se exige que no se permita que ningún valor mágico (es decir, constantes indefinidas) aparezca directamente en el código. Ejemplo de contador: string key = " id # Taobao _ " tradeid; cache.put(key, value 2. Al forzar la asignación inicial de long o Long, asegúrese de usar L mayúscula, no L minúscula, lo cual es fácil de usar); coincidir con el número 1 Confundir y causar malentendidos. Descripción: Long a = 2l, ¿escribiste el número 21 o el 2 largo? 3. Se recomienda no usar una clase constante para mantener todas las constantes, sino clasificarlas según funciones constantes y mantenerlas por separado. Por ejemplo, las constantes relacionadas con la caché se colocan en la clase: CacheConsts; las constantes relacionadas con la configuración del sistema se colocan en la clase ConfigConsts. Nota: Para una clase constante grande y completa, se debe utilizar la función de consulta para localizar la constante modificada, lo que no favorece la comprensión ni el mantenimiento. 4. Se recomienda que haya cinco niveles de reutilización de constantes: constantes compartidas entre aplicaciones, constantes compartidas dentro de aplicaciones, constantes compartidas dentro de subproyectos, constantes compartidas dentro de paquetes y constantes compartidas dentro de clases. 1) Constantes compartidas * * * entre aplicaciones: se colocan en una biblioteca de terceros, generalmente ubicadas en el directorio de constantes en client.jar 2) Constantes compartidas * * * dentro de la aplicación: se colocan en el directorio de constantes en un módulo de un biblioteca . Contraejemplo: las variables que son fáciles de entender también deben definirse uniformemente como * * * constantes compartidas en las aplicaciones. Dos ingenieros de asedio definieron variables que representan "sí" en dos clases: En la clase A, cadena final estática pública sí = " sí "; Clase B: cadena final estática pública YES = " yA.YES.equals (B.YES), se espera que ser verdadero, en realidad devuelto como falso, causando problemas en línea 3) * * *Constantes compartidas dentro de los subproyectos: es decir, en el directorio de constantes del subproyecto actual 4) * * *Constantes compartidas en el paquete: Eso. es decir, en un directorio de constantes separado en el paquete actual 5) * * * Constantes compartidas dentro de la clase: definidas directamente dentro de la clase 5. Si el valor de la variable solo cambia dentro de un rango, se recomienda usar una extensión distinta. el nombre, debe usar la clase Enum. Los números en el siguiente ejemplo son información extendida, que indica un día de la semana. Ejemplo positivo: enumeración pública {lunes (1), martes (2), miércoles (3). Jueves (4), viernes (5), domingo (6), domingo (7) Convención de formato 1. Convención de uso de corchetes obligatorios.

Si la llave está vacía, escríbala directamente como {} sin una nueva línea; si es un bloque de código no vacío: 1) No hay una nueva línea antes de la llave izquierda. 2) Envuelva una nueva línea después de la llave de apertura. 3) Envuelva una nueva línea antes de la llave de cierre. 4) Los códigos else y otros códigos después del corchete derecho no se romperán, lo que indica que se requiere un carácter de nueva línea después de terminar el corchete derecho; 2. No fuerce ningún espacio entre el corchete izquierdo y el último carácter. De manera similar, no hay espacio entre el corchete derecho y el carácter anterior. Consulte los ejemplos positivos del artículo 5 para obtener más detalles. 3. Fuerce que las palabras reservadas como if/for/ while/switch/do tengan espacios entre los corchetes izquierdo y derecho. 4. Obligue a cualquier operador a agregar un espacio a su alrededor. Nota: Los operadores incluyen operador de asignación =, operador lógico amp; símbolos para suma, resta, multiplicación y división, operadores de tres ojos, etc. 5.4 Los espacios fuerzan la sangría y los caracteres de tabulación están prohibidos. NOTA: Si utiliza sangría de tabulación, 1 tabulación debe configurarse en 4 espacios. Cuando IDEA establece pestañas en 4 espacios, no marque Usar pestañas en eclipse, se deben verificar las pestañas para ver si hay espacios insertados. Ejemplo positivo: (Involucrando puntos 1-5) public static void main(String[]args){Sangría 4 espacios String say = "Debe haber un espacio int flag = 0 a la izquierda y a la derecha del operador hola; palabra clave if y corchetes Debe haber un espacio entre el corchete y f en el corchete izquierdo, 0 y el corchete derecho no necesitan un espacio if (flag == 0) {system.out.println(say);} Agrega un espacio antes del corchete izquierdo, no hay saltos de línea; si (flag == 1) {system.println ("world") sigue al corchete de apertura, hay un salto de línea antes del corchete derecho. romper después del corchete derecho. Manual de desarrollo de Java de Alibaba -Prohibido para fines comerciales, los infractores serán procesados-6/37} else {system out. debe incluirse en una nueva línea}} 6. No se debe exceder el número de caracteres en una sola línea. Si excede 120, divida las líneas cuando sea necesario. Siga los siguientes principios al dividir las líneas: 1) Sangre la segunda línea en 4. espacios, comenzando desde la tercera línea, y ya no tiene sangría. 2) El operador usa el siguiente ejemplo. El contenido está ajustado. 3) El símbolo de punto de la llamada al método está ajustado con el siguiente contenido. y la línea está dividida después de la coma. Vea el ejemplo del contador: string buffer * * = new string buffer(. ); En el caso de más de 120 caracteres, el carácter de nueva línea tiene una sangría de 4 espacios y los símbolos de punto antes del punto. Los métodos están empaquetados juntos * * *. Append("sub")...Append("xin")...Append. ("amarillo")...append(. Ejemplo de contador: búfer de cadena * * = Nuevo búfer de cadena (); cuando supere los 120 caracteres, no incluya * * *. append("child"). append(" Xin "). put ("amarillo") antes de que los corchetes llamen a muchos parámetros; No envuelva los métodos (args1, args2, args3, ..., argsx) antes de la coma 7. Al definir Al pasar parámetros de método obligatorios, se debe agregar un espacio después de la coma de varios parámetros. En el siguiente ejemplo, la "A" de la variable independiente debe ir seguida de un espacio ("a", "b", "c". 8. Fuerce que la codificación del archivo de texto del IDE se establezca en UTF-8); ; los saltos de línea de los archivos en el IDE están en formato Unix, no en formato Windows 9. Se recomienda que no sea necesario agregar algunos espacios para separar los caracteres de una línea de los anteriores. están alineados. Ejemplo positivo: int a = 3; long b = 4Lfloat c = 5Fstring buffer * * * = new string buffer();

Si se requiere alineación, se deben agregar varios espacios a A, B y C. Esta es una tarea tediosa cuando hay muchas variables. Manual de desarrollo de Java de Alibaba: el uso comercial está prohibido, los infractores serán procesados ​​- 37/7 10. Se recomienda insertar líneas en blanco entre grupos de declaraciones de ejecución, grupos de declaraciones de definición de variables, lógica de negocios diferente o semántica diferente en el cuerpo del método. No es necesario insertar líneas en blanco entre una lógica empresarial y una semántica idénticas. Nota: No es necesario insertar varias líneas de espacios para la separación. (4) Protocolo OOP 1. Es obligatorio evitar el acceso a dichas variables estáticas o métodos estáticos a través de la referencia de objeto de la clase, lo que aumenta innecesariamente el costo de análisis del compilador. Se puede acceder directamente usando el nombre de la clase. 2. Fuerce la anotación de todos los métodos anulados con @Override. Contraejemplo: Problemas con getObject() y get 0 object(). Uno es la letra O y el otro es el número 0. Agregar @Override puede determinar con precisión si la anulación se realizó correctamente. Además, si se modifica la firma de un método en una clase abstracta, su clase de implementación se compilará inmediatamente e informará un error. 3. Solo forzando el uso del mismo tipo de parámetro y el mismo significado comercial se pueden utilizar parámetros variables de Java y evitar el uso de Objetos. Nota: Los parámetros variables deben colocarse al final de la lista de parámetros. (Se recomienda a los estudiantes que no utilicen programación variable tanto como sea posible). Ejemplo positivo: usuarios públicos getusers (tipo de cadena, entero... identificadores) 4. Al forzar interfaces que se llaman externamente o que dependen de bibliotecas de terceros, no se permite modificar la firma del método para evitar afectar a la persona que llama a la interfaz. Las interfaces obsoletas deben anotarse con @Deprecated con una explicación clara de cuál es la nueva interfaz o servicio. 5. Hacer cumplir que no se pueden utilizar clases o métodos obsoletos. Descripción: Método de decodificación (codificación de cadenas) en java. URLDecoder está obsoleto, se deben utilizar dos parámetros de decodificación (fuente de cadena, codificación de cadenas). Dado que el proveedor de la interfaz es obviamente una interfaz obsoleta, está obligado a proporcionar una nueva interfaz al mismo tiempo que el llamante y está obligado a verificar cuál es la nueva implementación del método obsoleto; 6. Es fácil borrar las excepciones de puntero forzando el método igual de un objeto, por lo que se debe llamar a igual con una constante o un objeto de cierto valor. Ejemplo positivo: "kao". igual(objeto); Contraejemplo: objeto. igual("prueba"); Descripción: Se recomienda utilizar objetos Java # igual (clase de herramienta lanzada en JDK 7). 7. Fuerce la comparación de valores entre todos los objetos empaquetados del mismo tipo, y todos los objetos empaquetados utilizan el método igual. Nota: Para números enteros var =? Para asignaciones entre -128 y 127, se genera un objeto entero en IntegerCache.cache y el objeto existente se reutilizará. Los valores enteros dentro de este rango se pueden determinar directamente usando ==, pero los datos fuera de este rango se generarán en el montón y los objetos existentes no se reutilizarán. Este es un gran pozo y se recomienda utilizar el método del signo igual para juzgar. 8. Los estándares de uso de tipos de datos básicos y tipos de datos empaquetados son los siguientes: 1) Todos los atributos de clase POJO deben utilizar tipos de datos empaquetados. 2) Fuerce el valor de retorno y los parámetros de los métodos RPC para que utilicen tipos de datos envolventes. 3) Se recomienda que todas las variables locales utilicen tipos de datos básicos. Nota: Las propiedades de la clase POJO no tienen un valor inicial para recordar a los usuarios que deben realizar asignaciones explícitas cuando necesiten usarlas. Cualquier problema de NPE o inspecciones entrantes son responsabilidad del usuario. Ejemplo positivo: el resultado de la consulta de la base de datos puede estar vacío porque existe un riesgo de NPE al descomprimir y recibir automáticamente tipos de datos básicos. Ejemplo de contador: por ejemplo, muestre la fluctuación del volumen total de operaciones, es decir, x positivo y negativo, donde x es el tipo de datos básico. Cuando la llamada al servicio RPC no tiene éxito, se devuelve el valor predeterminado y la página muestra: 0, lo cual no es razonable y debe mostrarse como un guión -. Por lo tanto, un valor nulo del tipo de datos contenedor puede representar información adicional, como por ejemplo: falla de llamada remota, salida anormal. 9. Al definir clases POJO (como DO/DTO/VO), no establezca ningún valor predeterminado de atributo.

Ejemplo de contador: el valor predeterminado de gmtCreate de la clase POJO es new Date(); sin embargo, al extraer datos, este atributo no se coloca en un valor específico. Cuando se actualizan otros campos, este campo también se actualizará, lo que provocará la creación. La hora a modificar es la hora actual. 10. Al agregar atributos a una clase de serialización obligatoria, no modifique el campo serialVersionUID para evitar fallas de deserialización; si la actualización es completamente incompatible y para evitar confusión sobre la deserialización, modifique el valor serialVersionUID. Nota: Tenga en cuenta que la inconsistencia serialVersionUID generará una excepción durante la ejecución de la serialización. 11. Está prohibido agregar cualquier lógica de negocios en el método de construcción obligatorio. Si hay lógica de inicialización, póngala en el método init. 12. Fuerce a la clase POJO a escribir un método de cadena. Cuando utilice la herramienta en el IDE: source gt para generar toString, si hereda otra clase POJO, asegúrese de agregar super.toString al frente. Nota: Cuando un método genera una excepción, puede llamar directamente al método toString() de POJO para imprimir el valor de su atributo y facilitar la resolución de problemas. 13. Se recomienda utilizar el índice para acceder a la matriz obtenida mediante el método de división de String. Debe verificar si hay contenido después del último delimitador; de lo contrario, existe el riesgo de generar IndexOutOfBoundsException. Descripción: String str = "a, b, c,"; String[] ary = str.split(","); Se espera que sea mayor que 3, el resultado es 3 println(ary . length) 14. Sugerencias Cuando una clase tiene múltiples constructores o múltiples métodos con el mismo nombre, estos métodos deben colocarse juntos para facilitar la lectura. 15. Se recomienda que el orden de definición de los métodos en una clase sea: método público o método protegido > método privado > método Getter/setter. Nota: Los métodos públicos son los métodos que más preocupan a quienes llaman y mantienen la clase, y se muestran mejor en la primera pantalla, aunque solo las subclases prestan atención a los métodos protegidos, también pueden ser métodos centrales bajo el "diseño de plantilla"; modo"; los métodos privados generalmente no son necesarios. El mundo exterior está particularmente preocupado porque es una implementación de caja negra; debido a que el valor de la información del método es muy bajo, todos los métodos getter/setter de Service y DAO se colocan al final de la clase cuerpo. 16. En el método de establecimiento recomendado, el nombre del parámetro es el mismo que el nombre de la variable miembro de la clase. Nombre de miembro = número de parámetro. En los métodos getter/setter, intente no agregar lógica empresarial, lo que aumentará la dificultad de resolución de problemas. Ejemplo de contador: entero público obtener datos(){ if(true){ return data 100;} else {return data-100;}} 17. Se recomienda conectar las cadenas en el bucle y usar el método append de StringBuilder para expandir el paquete. Ejemplo de contador: String str = " startfor(int I = 0; ilt100; i) { str = str "hello ";} Descripción: El archivo de código de bytes descompilado muestra que cada bucle creará un nuevo objeto StringBuilder y luego lo ejecutará. Una operación de adición eventualmente devolverá un objeto String a través del método toString, lo que resultará en un desperdicio de recursos de memoria 18. Se recomienda declarar las siguientes situaciones como finales: 1) Las variables que no necesitan ser reasignadas incluyen atributos de clase y variables locales. 2) Agregar final al objeto significa que no se permite modificar el punto de referencia. 3) El método de clase determina que no se permite sobrescribirlo. Nota: De forma predeterminada, el método de clonación del objeto no está permitido. es una copia superficial. Si desea implementar una copia profunda, debe anular el método de clonación para copiar el objeto de atributo.

20. Se recomienda que el control de acceso de los miembros y métodos de la clase sea estricto: 1) Si no se permite crear objetos directamente a través de new, entonces el constructor debe ser privado. 2) No se permite que las clases de herramientas tengan constructores públicos o predeterminados. 3) La clase es una variable miembro no estática, compartida con subclases * * * y debe estar protegida. 4) Las clases no son variables miembro estáticas, solo se usan dentro de esta clase y deben ser privadas. 5) Si las variables miembro estáticas de la clase solo se usan dentro de la clase, deben ser privadas. 6) Si es una variable miembro estática, debes considerar si es definitiva. 7) Los métodos de los miembros de la clase solo se pueden llamar dentro de la clase y deben ser privados. 8) Los métodos de los miembros de la clase sólo son públicos para la clase heredada, por lo que están restringidos a protegidos. Descripción: El alcance de acceso de cualquier clase, método, parámetro y variable está estrictamente controlado. Un alcance de acceso demasiado amplio no favorece el desacoplamiento del módulo. Pensamiento: si es un método privado, puede eliminarlo si lo desea, pero si elimina un método de servicio público o una variable miembro pública, ¿no se preocupa? Las variables son como tus propios hijos. Trate de permanecer dentro de su línea de visión. El alcance de la variable es demasiado grande. Si estuvieras corriendo sin restricciones, estarías preocupado.

¿Cuáles son algunos modismos que parecen incorrectos pero que son ciertos?

Inesperadamente, se hace un acuerdo secreto en la fecha robada, el acuerdo se hace, el mar se encuentra con la alianza de la montaña, el pueblo se reúne al anochecer, las oropéndolas se encuentran con las golondrinas, la cita es lo primero, el secreto El acuerdo roba la fecha, el acuerdo secreto viene primero.