Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Puede un método abstracto ser estático, local y sincronizado al mismo tiempo?

¿Puede un método abstracto ser estático, local y sincronizado al mismo tiempo?

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

Método nativo significa que el método se implementará en otro lenguaje de programación relacionado con la plataforma. No hay problema de ser implementado por una subclase, por lo que no puede ser abstracto y no puede confundirse con la abstracción. Por ejemplo, la implementación subyacente del hardware que será procesado por la clase FileOutputSteam se implementa utilizando las API relevantes del sistema operativo. Por ejemplo, se implementa en lenguaje C en Windows. Por lo tanto, si observa el código fuente de jdk. Podemos encontrar que el método abierto FileOutputStream se define de la siguiente manera:

la apertura nula nativa privada (nombre de cadena) lanza FileNotFoundException;

Si queremos usar Java para llamar a la función C de otras personas, No podemos llamarlo directamente, necesitamos escribir una función C de acuerdo con los requisitos de Java y usar nuestra función C para llamar a la función C de otras personas. Dado que nuestra función C está escrita de acuerdo con los requisitos de Java, nuestra función C se puede conectar con Java. El método de acoplamiento de Java es definir el método correspondiente a nuestra función C. No es necesario escribir el método correspondiente de Java. específicamente el código, pero el nativo debe declararse al frente.

En cuanto a mi opinión de que es imposible usar sincronizado con abstracto, porque nunca lo he visto en mis muchos años de aprendizaje y desarrollo, creo que es razonable que sincronizado actúe sobre métodos específicos. Además, el objeto de bloqueo de sincronización utilizado al sincronizar métodos es este, pero es imposible determinar qué es este objeto en métodos abstractos.