java-局部内部类

java-局部内部类1

请添加图片描述
请添加图片描述
请添加图片描述
源码
package com.InnerClass;

/*
演示局部内部类的使用
*/
public class LocalInnerClass01 {
public static void main(String[] args) {
//演示(6)
Outer02 outer02 = new Outer02();
outer02.m1();
}
}

class Outer02 {//外部类
private int n1 = 100;

private void m2() {
    System.out.println("Outer02 m2()");
}//私有方法

public void m1() {//外部类方法
    //(1)局部内部类是定义在外部类的局部位置 通常在方法
    //(3)不能添加访问修饰符 但是可以使用final 修饰
    //(4)作用域:仅仅在定义他的方法或者代码块中 出了这个范围用不了
    class Inner02 {//局部内部类(本质仍然是一个类)
    //(5)局部内部类 可以直接访问外部类的成员 比如下面外部类n1和m2()
        //(2)可以直接访问外部类的所有成员 包含私有的
        public void f1() {
            System.out.println("n1=" + n1);
            m2();
        }
    }
    //class Inner03 extends Inner02{//不加final可以被继承
    //(6)外部类在方法中 可以先创建Inner02对象 然后调用内部类方法即可
    Inner02 inner02 = new Inner02();
    inner02.f1();
    }
}

java-局部内部类2

请添加图片描述
请添加图片描述
请添加图片描述
源码
package com.InnerClass;

/*
演示局部内部类的使用
*/
public class LocalInnerClass01 {
public static void main(String[] args) {
//演示(6)
Outer02 outer02 = new Outer02();
outer02.m1();
System.out.println(“outer02的hashcode=” + outer02);
}
}

class Outer02 {//外部类
private int n1 = 100;

private void m2() {
    System.out.println("Outer02 m2()");
}//私有方法

public void m1() {//外部类方法
    //(1)局部内部类是定义在外部类的局部位置 通常在方法
    //(3)不能添加访问修饰符 但是可以使用final 修饰
    //(4)作用域:仅仅在定义他的方法或者代码块中 出了这个范围用不了
    class Inner02 {//局部内部类(本质仍然是一个类)
    //(5)局部内部类 可以直接访问外部类的成员 比如下面外部类n1和m2()
        //(2)可以直接访问外部类的所有成员 包含私有的
        private int n1 = 800;
        public void f1() {
            System.out.println("n1=" + n1 + " 外部类的n1=" + Outer02.this.n1);
            System.out.println("Outer02.this hashcode=" + Outer02.this);
            m2();
        }
    }
    //class Inner03 extends Inner02{//不加final可以被继承
    //(6)外部类在方法中 可以先创建Inner02对象 然后调用内部类方法即可
    //(7)如果外部类和局部内部类 的成员重名时 默认遵循就近原则
    //如果想访问外部类的成员 使用外部类名.this.成员 去访问
    //解读:Outer02.this 本质就是外部类的对象
    //即 哪个对象调用了m1 Outer02.this 就是哪个对象
    Inner02 inner02 = new Inner02();
    inner02.f1();
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值