


Tutoriel d'introduction au système JAVA (7) Orienté objet (encapsulation 2)
###Orienté objet (encapsulation 2)###
1. Classes internes en Java
1) Qu'est-ce que c'est. Qu'en est-il des classes internes : une classe interne (Inner Class) est une classe définie dans une autre classe. De manière correspondante, une classe contenant une classe interne est appelée classe externe.
2) Pourquoi définir une classe à l'intérieur d'une autre classe ?
Les principales fonctions des classes internes sont les suivantes :
1> classe interne au sein de la classe externe, et n'autorisez pas les autres classes du même package à accéder à la classe
2> Les méthodes de la classe interne peuvent accéder directement à toutes les données de la classe externe, y compris les données privées
3> Les fonctions implémentées par les classes internes peuvent également être implémentées à l'aide de classes externes, mais il est parfois plus pratique d'utiliser des classes internes
3) Combien de types de classes internes existe-t-il : classes internes membres , classes internes statiques, méthodes Classes internes, classes internes anonymes
2 Classes internes membres en Java
Les classes internes les plus courantes sont les classes internes membres. , également connue sous le nom de classe interne ordinaire. Regardons le code suivant :
À partir du code ci-dessus, nous pouvons voir comment utiliser les classes internes des membres :
1 La classe Inner est définie dans. L'intérieur de la classe Outer est équivalent à l'emplacement d'une variable membre de la classe Outer. La classe Inner peut utiliser n'importe quel caractère de contrôle d'accès, tel que public, protégé, privé, etc.
2 Le test. () définie dans la classe Inner peut accéder directement aux données de la classe Outer sans être affectée par le caractère de contrôle d'accès, comme accéder directement aux propriétés privées de la classe Outer a
3. classe interne, vous devez utiliser l'objet de classe externe pour créer l'objet de classe interne et ne pouvez pas créer directement un objet de classe interne, c'est-à-dire : nom de l'objet de classe interne = objet de classe externe.nouvelle classe interne ();
4. Après avoir compilé le programme ci-dessus, vous constaterez que deux fichiers .class
Parmi eux, le second est le fichier .class de la classe externe, et le premier est le fichier .class de la classe interne, c'est-à-dire que le fichier .class de la classe interne du membre est toujours comme ceci : nom de classe externe $ nom de classe interne.class
De plus, des rappels amicaux :
1. utiliser les membres et les méthodes des classes internes
Vous pouvez d'abord créer un objet de la classe interne, puis accéder à ses variables et méthodes membres via l'objet de la classe interne.
2. Si la classe externe et la classe interne ont les mêmes variables ou méthodes membres, la classe interne accédera par défaut à ses propres variables ou méthodes membres si vous souhaitez accéder aux variables membres de la classe externe. , vous pouvez utiliser le mot-clé this. Par exemple :
Exemple : La classe interne membre Inner est définie dans l'éditeur et les valeurs d'attribut de la classe externe et de la classe interne sont affichées dans le show méthode de la classe interne.
3. Classes internes statiques en Java
Les classes internes statiques sont des classes internes modifiées de manière statique. Les caractéristiques de cette classe interne sont :
<.> 1) Les classes internes statiques ne peuvent pas accéder directement aux membres non statiques de la classe externe, mais peuvent y accéder via new external class().members 2) Si les membres statiques de la classe externe sont différents de les membres de la classe interne Si les noms sont les mêmes, vous pouvez accéder aux membres statiques de la classe externe via « nom de classe.membre statique » si les membres statiques de la classe externe et les noms des membres de la classe interne ne le sont pas ; de même, vous pouvez appeler directement les membres statiques de la classe externe via "nom du membre" 3) Lors de la création d'un objet d'une classe interne statique, vous n'avez pas besoin d'un objet d'une classe externe. créez-le directement Nom de l'objet de classe interne = new inner class();Exemple :PS : Puisque la classe interne de la méthode ne peut pas être utilisée en dehors de la méthode de la classe externe, la classe interne de la méthode ne peut pas utiliser de caractères de contrôle d'accès et de caractères statiques. symbole de modifications.
6. Instructions de documentation
package example.make_api; /** * 当前这个ArrayTool这个类是针对数组操作的工具类,里面提供了遍历数组以及获取数组的最大值和 * 查找数组中第一次出现的索引这些功能 * @author 梦竹 * @version V1.0 */ public class ArrayTool { /** * 无参构造私有化的目的,是为了不让外界创建对象 */ private ArrayTool() { } /** * 当前这个方法是针对数组遍历的功能 * @param arr 是需要被遍历的数组 */ public static void printArray(int[] arr) { System.out.print("["); for(int x = 0 ; x < arr.length ;x ++) { //判断 if(x==arr.length-1) { System.out.println(arr[x]+"]"); }else { System.out.print(arr[x]+", "); } } } /** * 当前getMax方法是获取数组中最大值的方法 * @param arr 需要遍历的数组 * @return 返回到就是数组中的最大值 */ public static int getMax(int[] arr) { //定义一个参照物,假设为最大值 int max = arr[0] ; //遍历其他元素 for(int x = 1; x < arr.length ;x ++) { //判断 if(arr[x] > max) { max = arr[x] ; } } return max ; } /** * 当前这个方法是查找数组的某个元素在数组中第一次出现的索引 * @param arr * @param value * @return */ public static int getIndex(int[] arr,int value) { //假设找不到 int index = -1 ; //遍历数组 for(int x = 0 ; x < arr.length ; x ++) { //判断 if(arr[x] == value) { //将当前x索引赋值给index index = x ; break ; } } return index ; } }
package example.make_api; /** * 需求:自定义一个数组,遍历数组 * 制作文档说明书: * 可以定义一个ArrayTool,数组操作的工具类 * 在工具类,必须文档注释,来让解析成文档 * 在数组工具类ArrayTool,提供遍历功能,获取最大值的,查找数组中某个元素第一次出现的索引 * * * @author Administrator * */ public class ArrayDemo { public static void main(String[] args) { //定义数组,静态初始化 int[] arr = {57,69,13,24,80} ; //测试 //遍历功能 ArrayTool.printArray(arr); //最大值 int max = ArrayTool.getMax(arr) ; System.out.println("最大值是:"+max); //求元素在数组中第一次参出现的索引 int index = ArrayTool.getIndex(arr, 13) ; System.out.println("索引是:"+index); } }
À ce stade, deux fichiers de classe sont trouvés
Supprimer l'exemple de package dans Tool .make_api
Win+R call dos
####END####
Articles associés :
Tutoriel du système de saisie JAVA (5) Syntaxe de base (3)
Tutoriel du système de saisie JAVA (6) Orienté objet (encapsulation)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Guide de la racine carrée en Java. Nous discutons ici du fonctionnement de Square Root en Java avec un exemple et son implémentation de code respectivement.

Guide du nombre parfait en Java. Nous discutons ici de la définition, comment vérifier le nombre parfait en Java ?, des exemples d'implémentation de code.

Guide du générateur de nombres aléatoires en Java. Nous discutons ici des fonctions en Java avec des exemples et de deux générateurs différents avec d'autres exemples.

Guide de Weka en Java. Nous discutons ici de l'introduction, de la façon d'utiliser Weka Java, du type de plate-forme et des avantages avec des exemples.

Guide du numéro Armstrong en Java. Nous discutons ici d'une introduction au numéro d'Armstrong en Java ainsi que d'une partie du code.

Guide du nombre de Smith en Java. Nous discutons ici de la définition, comment vérifier le numéro Smith en Java ? exemple avec implémentation de code.

Dans cet article, nous avons conservé les questions d'entretien Java Spring les plus posées avec leurs réponses détaillées. Pour que vous puissiez réussir l'interview.

Java 8 présente l'API Stream, fournissant un moyen puissant et expressif de traiter les collections de données. Cependant, une question courante lors de l'utilisation du flux est: comment se casser ou revenir d'une opération FOREAK? Les boucles traditionnelles permettent une interruption ou un retour précoce, mais la méthode Foreach de Stream ne prend pas directement en charge cette méthode. Cet article expliquera les raisons et explorera des méthodes alternatives pour la mise en œuvre de terminaison prématurée dans les systèmes de traitement de flux. Lire plus approfondie: Améliorations de l'API Java Stream Comprendre le flux Forach La méthode foreach est une opération terminale qui effectue une opération sur chaque élément du flux. Son intention de conception est
