Red de conocimiento informático - Problemas con los teléfonos móviles - Comprensión sincronizada del código fuente

Comprensión sincronizada del código fuente

Los métodos abstractos no pueden ser estáticos, porque los métodos abstractos deben ser implementados por subclases, ¡y lo estático no tiene nada que ver con las subclases!

Método nativo significa que el método se implementa en otro lenguaje de programación relacionado con la plataforma y no hay problema de que lo implemente una subclase. Por tanto, no se puede abstraer y no se puede confundir con la abstracción. Por ejemplo, la clase FileOutputSteam tiene que lidiar con hardware y la implementación subyacente se implementa a través de API relacionadas con el sistema operativo, como el lenguaje C en Windows. Por lo tanto, si observa el código fuente de jdk, puede encontrar que el método abierto de FileOutputStream se define de la siguiente manera:

la apertura nula nativa privada (nombre de cadena) arroja FileNotFoundException

Si desea utilizar Java, llame a las funciones del lenguaje C de otras personas y no puede llamarlas directamente. Necesitamos escribir una función en lenguaje C de acuerdo con los requisitos de Java. Nuestra función en lenguaje C llama a la función en lenguaje C de otras personas. Debido a que nuestras funciones del lenguaje C están escritas de acuerdo con los requisitos de Java, nuestras funciones del lenguaje C se pueden conectar a Java. El método de acoplamiento en Java consiste en definir el método correspondiente a nuestra función C. El método correspondiente en Java no requiere escribir código específico, pero debe declararse al frente.

Creo que no es bueno usar sincronizado y abstracto, porque nunca he visto una situación así en muchos años de estudio y desarrollo. Creo que sincronizado debería aplicarse a métodos específicos para que tenga sentido. Además, el objeto de bloqueo de sincronización utilizado para la sincronización en el método es este, y es imposible determinar cuál es en el método abstracto.