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 :
<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>
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(); //调用外部类的方法 } }
3. 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(); //调用静态内部类的方法 } }
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) !