要实例化内部类InnerClass,必须首先实例化其外围类OuterClass,然后用如下的语法创建内部类的实例: OuterClass outerObject = new OuterClass(); OuterClass.InnerClass innerObject = outerObject.new InnerClass(); 注意,上面写得是outerObject.new InnerClass(),而不是new OuterClass.InnerClass(); 我们在执行代码...
packageInnerClass;publicclassInnerClassTest{//主类publicstaticvoidmain(String[] args){OuterClassouter=newOuterClass(true); } } packageInnerClass;publicclassOuterClass{//外部类privatebooleana; OuterClass(booleana){this.a = a; System.out.println("我是外部类!");InnerClassinner=newInnerClass(); }...
//cannot define an inner class in a method /*public static class Inner4() { }*/ } privatevoidinstanceMethod() { //private static member class can be accessed only in its outer class definition scope Inner3 inner3=newInner3(); //how to use nested inner class Inner3.Inner4 inner4=ne...
public class MyMainClass { public static void main(String[] args) { OuterClass myOuter = new OuterClass(); OuterClass.InnerClass myInner = myOuter.new InnerClass(); System.out.println(myInner.y + myOuter.x); } }以上实例 InnerClass 设置为私有内部类,执行会报错:My...
//指向内部类的域final String str3=OuterClass.this.str;//指向外部类的域}publicstaticvoidmain(String[]args){OuterClass outerClass=newOuterClass();InnerClass innerClass=outerClass.getInner();System.out.println(innerClass.str);System.out.println(innerClass.str2);System.out.println(innerClass.str3...
Java面向对象之内部类—inner class 内部类 Java 类中的可以定义的成员有:字段、方法、内部类,内部类是定义在类结构中的另一个类,因为定义在类的内部,故称为内部类。在上述的代码示例中,就可以将InnerClass称之为OuterClass的内部类。为什么使用内部类:增强面向对象的封装,可以把一些不想对外的实现细节封装在...
publicclassOuterClass{privateStringouterField="Outer field";publicclassInnerClass{publicvoidprint(){System.out.println(outerField);// 访问外围类的实例变量}}} 使用场景: 非静态内部类通常用于需要访问外围类实例状态的场合,例如,事件处理器、数据结构封装中的内部状态管理等场景。通过非静态内部类,开发者可以实...
class private method."); // 调用外层类的公有变量 System.out.println(publicVariable); } } public static void main(String[] args) { new OuterClass().show(); }}上面代码定义了外层类是 OuterClass ,内部类是 InnerClass 。外层类定义了1个公有变量、2个私有变量和1个私有...
public class OuterClass { private String name="木头人"; public void show(){ String phone="15462364"; //局部内部类class前面不能加任何访问修饰符,例如private class InnerClass{ private String address="地球"; public void show1(){ //可以直接访问外部类的属性 System.out.println(name); //访问方法...