Maison > Java > javaDidacticiel > Utilisation de classes internes en Java

Utilisation de classes internes en Java

黄舟
Libérer: 2017-01-18 15:45:12
original
1845 Les gens l'ont consulté

1. Le rôle des classes internes

1. Les classes internes offrent une meilleure encapsulation. Elles peuvent masquer les classes internes dans les classes externes et ne pas permettre aux autres classes du même package d'y accéder.

2. Les méthodes de la classe interne peuvent accéder directement à toutes les données de la classe externe.

3. Plus pratique à utiliser.

2. Classification des classes internes :

1. Classe interne membre (en tant que membre de la classe externe)

2. 3. Classe interne de méthode (la classe interne est à l'intérieur d'une méthode de la classe externe)

4. Classe interne anonyme

3. Utilisation des classes internes

1. Utilisation des classes internes :

Résultat d'exécution :
<span style="font-family:Microsoft YaHei;font-size:18px;">package com.bluesky;  
  
public class Outer {  
      
    private int a =99;        //定义外部类的数据成员  
      
    public class Inner{      //该内部类作为外部类的一个成员  
          
        int b =88;            //内部类的数据成员  
          
        public void test(){  
            System.out.println("访问外部类的a:"+a); //访问外部类的数据成员  
            System.out.println("访问内部类的b:"+b); //访问内部列的数据成员  
        }  
    }  
  
    public static void main(String[] args) {  
          
        Outer o = new Outer();           //先生成一个外部类的对象实例  
           
        Inner in = o.new Inner();       //产生一个内部类的对象实例  
          
        in.test();                   //调用内部类的方法  
    }  
  
}</span>
Copier après la connexion

Utilisation de classes internes en Java 2. Utilisation de classes internes statiques

Résultat d'exécution :
package com.bluesky;  
  
public class MethodOuter {  
      
    public void test(){  
          
        final int a=12;  
        int b=100;  
          
        class Inner{              //该内部类定义在外部类的方法的内部  
              
            public void print(){  
                int v=56;  
                System.out.println("访问外部类中的常量a:"+a);  
                System.out.println("访问外部类中的b:"+b);  
                System.out.println("访问内部类中的c:"+v);  
            }  
        }  
          
        Inner in = new Inner();    //在方法体里面先产生内部类的对象实例  
        in.print();                //在外部类的方法里面调用内部类的方法  
          
    }  
  
    public static void main(String[] args) {  
          
        MethodOuter mo = new MethodOuter(); //产生外部类的对象实例  
          
        mo.test();                          //调用外部类的方法  
  
    }  
  
}
Copier après la connexion

Utilisation de classes internes en Java3. Utilisation de classes internes statiques :

Résultats en cours d'exécution :
package com.bluesky;  
  
public class StaticOuter {  
      
    private static int a=99;  
    static int b =78;  
      
    public static class Inner{     //定义静态内部类  
        static int a=2;  
        public void test(){  
            System.out.println("访问外部类的b:"+b);  
            System.out.println("访问外部类的a:"+StaticOuter.a);  
            System.out.println("访问内部类的a:"+a);  
        }  
    }  
  
    public static void main(String[] args) {  
          
        Inner in = new Inner();      //因为是静态的,所有可以直接产生对象实例  
        in.test();                   //调用静态内部类的方法  
  
    }  
  
}
Copier après la connexion

Utilisation de classes internes en Java Anonyme interne je mettrai les catégories plus tard, alors restez connectés !


Ce qui précède est le contenu de l'utilisation des classes internes en Java. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal