您的位置:首页 > 其它

抽象类,接口,内部类

2014-08-26 11:03 148 查看
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);

//...

}

}

*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: