Java中的数组有对应的类么,为什么数组可以直接调用clone()方法?
黄舟
黄舟 2017-04-18 10:13:08
0
3
665
黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

répondre à tous(3)
刘奇

1. Il n'existe pas de classe correspondant à un tableau en Java. Les tableaux font partie du langage Java.
2. Les données sont un objet spécial, implémenté par lui-même Cloneable. Il y a une phrase dans le javadoc de la méthode Object de clone : Notez que tous les tableaux sont considérés comme implémentant l'interface Cloneable, donc les tableaux peuvent utiliser directement la méthode clone.
3. L'objet tableau est né avec un attribut final de length Parce que le tableau n'est défini dans aucune classe, il n'y a pas de code source.

Ty80

Le tableau de Java est un tableau, et aucune classe ne lui correspond.
Le clone() utilisé pour les tableaux ne doit pas nécessairement être une classe. Tant que le compilateur fournit cette syntaxe, il peut être implémenté.
De même, la longueur du tableau est également un attribut de tableau analysé par le compilateur. Elle n'est pas implémentée par Java et, naturellement, le code source de Java ne peut pas être vu.

左手右手慢动作

Class c = int[].class;
System.out.println(c.getPackage());
System.out.println(c.getName());
System.out .println(Modifier.toString(c.getModifiers()));

Cela peut être compris comme ceci :
La classe array est un ensemble de classes spéciales, générées dynamiquement par le runtime JVM, y compris son attribut length et d'autres implémentations de méthodes
En plus de int[], boolean[ ] de tels tableaux ,
contient également des tableaux de types définis par l'utilisateur, tels que des tableaux au format com.yourPackage.YourClass[], ainsi que des tableaux bidimensionnels, tridimensionnels... multidimensionnels

Il y a un résultat d'entrée intéressant
Le modificateur de la classe int[] est public abstract final
Cela dépasse nos connaissances

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal