python内嵌函数和闭包与java 匿名内部类_Java内部类和匿名内部类

一、内部类

内部类特征:内部类当中可以调用外部类当中的属性和方法,而外部类却不能调用内部类当中的。

public class A {

private int x = 10;

public static void main(String[] args) {

A.B b = new A().new B();

b.say();

}

class B{

public void say() {

hi();

System.out.println(x*10);

}

}

public void hi() {

System.out.println("我是外部类方法hi");

}

}

打印如下:

我是外部类方法hi

100

说明内部类可以访问外部类的属性和方法。

二、匿名内部类

匿名内部类可以继承两类数据接口

1. 抽象类

2. 接口

public abstract class A {

public abstract void say();

}

public class B extends A {

@Override

public void say() {

System.out.println("我是实现类的方法say");

}

}

public class Test {

public static void main(String[] args) {

// 不使用匿名内部类的调用方式

A a1 = new B();

a1.say();

// 使用匿名内部类的调用方式

A a2 = new A(){

@Override

public void say() {

System.out.println("我是匿名内部类的方法say");

}

};

a2.say();

}

}

打印如下:

我是实现类的方法say

我是匿名内部类的方法say

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值