栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

匿名内部类的使用

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

匿名内部类的使用

public class Outer3 {

// 局部内部类 --仅存在于方法中
public void method(){

    final String gender = "男";

// 局部内部类 在结构上仍旧是一个普通的类 --该有的都有
class Student{
String name;
int age;

        public void eat(){
            System.out.println("正在吃");
            System.out.println(gender); // 局部内部类中可以使用方法中的变量, 最好将这个变量变成final的

// gender = “重新赋值”;
}

        public Student(String name, int age) {
            this.name = name;
            this.age = age;
        }
    }

// gender = “女”;
// Student student = new Student(“张三”, 88);
// student.eat();
}

public static void main(String[] args) {
    class AI implements A{
        @Override
        public int getNum(int range) {
            return new Random().nextInt(range);
        }
    }

    A a = new AI();
    System.out.println(a.getNum(30));
    A a1 = new AI();
    System.out.println(a1.getNum(30));

    class AIm implements A{
        @Override
        public int getNum(int range) {
            return new Random().nextInt(range - 10) + 5;
        }
    }

    A a2 = new AIm();
    System.out.println(a2.getNum(30));

// 匿名内部类 – 没有类名的类 实际上就是局部内部类的一种简化形式
A a3 = new A() {
@Override
public int getNum(int range) {
return 0;
}
};
// 匿名内部类 – 都是父类/接口类型
B b = new B() {
@Override
public void m() {
System.out.println(“B’s m~”);
}

        @Override
        public void m1() {
            System.out.println("重写的m1");
        }
    }; // 是一个没有名字的B的子类

    C c = new C() {
        @Override
        public void me() {
            System.out.println("456");
        }
    };

    c.me();

    new C(){
        @Override
        public void me() {
            System.out.println("dfghjkl");
        }
    }.me();

// 匿名内部类 : 实际上就是一个没有名字的实现类/子类
}
}

interface A {
int getNum(int range);
}

abstract class B {
public abstract void m();

public void m1(){
    System.out.println("abstract");
}

}

class C {
public void me(){
System.out.println(“me”);
}
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/985084.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号