java的匿名内部类的使用

java的匿名内部类的使用

package com.hspedu;

import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput;

public class anonymousInnerClass {
    public static void main(String[] args) {
        Outer01 outer01 = new Outer01();
        outer01.f1();
    }
}

class Outer01 {
    private int n1 = 1;
    public void f1(){
        //匿名内部类,相当于继承Person类的隐藏类,创建对象
        Person person = new Person(){
            private int n1 = 2;
            @Override
            public void hi(){
                System.out.println("匿名内部类重写了方法hi n1="
                 + n1 + " Outer01的n1= " + Outer01.this.n1);
            }
        };
        person.hi();
        //新的相当于继承Person的匿名类对象的创建
        new Person(){
            @Override
            public void hi() {
                System.out.println("第二个匿名内部类重写方法hi");
            }

            @Override
            public void ok(String name) {
                super.ok(name);
            }
        }.ok("jack");

    }
}
class Person {
    public void hi() {
        System.out.println("Person类方法f2");
    }
    public void ok(String name){
        System.out.println(name);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值