package com.hisoft.java.DifferentClass; /** * 外部类的构造方法先于内部类构造方法执行 * */ public class MyOuterClass { String outValue; static String name; MyInnerClass myinner; //在类内部定义的类叫内部类,定义在外部类内部,外部类方法的外部叫成员内部类,也加全局内部类 // 在成员内部类中不能定义静态方法 // 成员内部类可以直接调用外部类的成员变量和成员方法 class MyInnerClass { String name; public MyInnerClass() { System.out.println(" this is myinnerclass 构造方法"); } public MyInnerClass(String name) { System.out.println(" this is myinnerclass 有参构造方法 "+name); } String inValue ="this is 内部类的变量"; public void testInner() { System.out.println("this is testInner() "); System.out.println("this outValue is"+outValue); name="张三"; run(); } // public void run(){ // System.out.println("this is myinnerclass run()"); // } } private void run(){ // 外部类访问内部类成员必须通过内部类对象进行方法 System.out.println(myinner.name); } // 在main方法中实例内部类对象,要通过外部类对象来进行实例化内部类对象 public static void main(String[] args) { MyOuterClass myout = new MyOuterClass("zs"); myout.run(); // MyInnerClass myinner = myout.new MyInnerClass(); } public MyOuterClass(String outValue) { System.out.println("this is myout 构造方法"); myinner = new MyInnerClass(outValue); }
}public static void main(String[] args) { 在其他类中实例成员内部类 MyOuterClass myout = new MyOuterClass(""); MyInnerClass myinner = myout.new MyInnerClass();//对象的声明 myinner.testInner(); }
成员内部类
最新推荐文章于 2024-06-06 11:01:57 发布