java局部内部类

来源:互联网 发布:活动报名软件 编辑:程序博客网 时间:2024/05/21 15:50

java中局部内部类的特点:

  1.定义在代码块、方法体的内的类叫做局部内部类

  2.局部内部类访问外部类的属性和方法使用“外部类名.this.属性名”和“外部类名.this.方法名(参数)”的形式

  3.对外部世界完全隐蔽,只能在其作用域内生成对象


局部内部类有以下局限性:

  1.局部内部类不能加访问修饰符,因为它们不是类的成员

  2. 成员内部类不能与外部类重名

  3.局部内部类访问作用域的局部变量,该局部变量需要用final修饰


具体用代码说明:

public class PartInnerClassDemo {public static void main(String[] args) {Outer3 outer3 = new Outer3(); // new一个Outer3的对象outer3.showOuter(); // 调用outer3的showOuter方法}}class Outer3 {private String name = "zhangsan ";private int num1 = 10;private static int num2 = 20;public void showOuter() {final int num4 = 50;class Inner3 { // 创建一个局部内部类,类名前一定不能加修饰符private int num3 = 30;private int num1 = 20;public void showInner() {System.out.println(num3); // 打印局部内部类里的num3System.out.println(num1);// 打印局部内部类里的num1,一定记住,不是外部类的num1!System.out.println(Outer3.this.num1);// 这样才是打印外部类中的num1System.out.println(Outer3.num2);// 打印外部类中的静态变量num2System.out.println(num4);// 局部内部类只能访问声明其方法中的常量,就是说只能访问在showOuterus这个方法中的常量}}Inner3 inner3 = new Inner3(); // 创建对象的时候必须要在局部内部类之后创建,inner3.showInner(); // 调用局部内部类的showInner方法}}


0 0
原创粉丝点击