如何给网站做权重,wordpress 漫画站,网站模板及素材,做网站算软件行业吗个人主页 学习内部类#xff08;Inner Class#xff09;是Java编程中一项重要且强大的特性#xff0c;它允许你在一个类的内部定义另一个类。内部类提供了一种将逻辑上相关的类组织在一起的方式#xff0c;增加了代码的封装性和可读性。接下来带领大家进入內部类的学习。
… 个人主页 学习内部类Inner Class是Java编程中一项重要且强大的特性它允许你在一个类的内部定义另一个类。内部类提供了一种将逻辑上相关的类组织在一起的方式增加了代码的封装性和可读性。接下来带领大家进入內部类的学习。
1静态内部类
2实例内部类
3匿名内部类
一静态内部类的使用例子
class OuterClass{public int date11;private int date22;public static int date33;static class InnerClass{public int date44;private int date55;public static int date66;public void test(){OuterClass outerclassnew OuterClass();System.out.println(outerclass.date1);System.out.println(outerclass.date2);System.out.println(date3);System.out.println(date4);System.out.println(date5);System.out.println(date6);System.out.println(InnerClasstest());}}
}
public class Test {public static void main(String[] args) {OuterClass.InnerClass innerClassnew OuterClass.InnerClass();innerClass.test();}
} 在静态内部类当中去访问外部类非静态成员必须通过外部内对象引用来访问。如图所示 二实例内部类例子
class OuterClass{public int date11;private int date22;public static int date33;class InnerClass{public int date44;private int date55;public static int date66;public void test(){OuterClass outerclassnew OuterClass();System.out.println(date1);System.out.println(date2);System.out.println(date3);System.out.println(date4);System.out.println(date5);System.out.println(date6);System.out.println(InnerClasstest());}}
}
public class Test {public static void main(String[] args) {// OuterClass.InnerClass innerClassnew OuterClass.InnerClass();OuterClass outerClassnew OuterClass();OuterClass.InnerClass innerClassouterClass.new InnerClass();//OuterClass.InnerClass innerClassnew OuterClass().new InnerClass();innerClass.test();}
} 当有与外部相同的成员变量时则访问的是实例内部类的成员变量。如图;得到的是date199. 那么要访问外部类的date1可以通过外部內类名OuterClass.this.date1)就可以。 三匿名内部类的例子 匿名内部类Anonymous Inner Class是Java中一种没有名字的内部类通常用于简化代码或实现一次性的、简单的类定义。
class 0uterClass {public void test(){System.out.println(OuterClasstest());}
}
public class Test{public static void main(String[] args) {new 0uterClass(){Overridepublic void test(){System.out.println(重写了test方法);}}.test();}
}