抽象类,接口,内部类

public class AbsInterfInner
{
public static void main(String args[]){
C.D d = new C().new D();
//d.dd();
//E.F f = new E().new F();
//f.method();
d.show();
E.F.ff();

H h = new H();
h.method();

G g = new G();
g.gg();
}

}


abstract class A{
public abstract void eat();
}


interface B{
public abstract void eat();
}


class C{
private int a=10;

class D{

public void dd(){
System.out.println(a);
}

public void show(){
new D().dd();
}

}
}


class E{
int num=3;

static class F{ //static方法的内部类本身也必须是static
/*
public void method(){
int num = 9;
System.out.println(E.this.num);
}
*/

private static int num = 33;

public static void ff(){
System.out.println("static method ff"+num);
}
}

}


class H{
public void method(){

final int num = 99;

class I{
public void b(){//局部位置只能访问fianl型变量
System.out.println(num);
}
}

I i = new I();
i.b();
}
}

interface Inter{
public abstract void show();
}

class G
{

/*
class K implements Inter{
public void show(){
System.out.println("kkk show");
}
}
*/

public void gg(){
//new K().show();
//使用匿名内部类
new Inter(){
public void show(){
System.out.println("kkk show");
}
}.show();
}
}

interface FilenameFilter{
public abstract boolean accept(File file,String name);
}

/*匿名内部类的一个应用
class File{

public File[] listFiles(){
//...
}


public File[] listFiles(FilenameFilter filter){
File[] files =  File.listFiles().length;
File filesArr = new File[files.length];
int num = 0;
for(File file:files){
if(filter.accept(file,name)){
filesArr[num++] = file;
}
}
return Arrays.copyOf(acceptedFiles,num);
//...
}
}
*/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值