“好事不留名”的匿名内部类 内部类匿名内部类java
程序员文章站
2022-07-12 14:46:24
...
//匿名内部类,即没有名字,做好事不留名就是匿名内部类了,它和局部内部类有点类似,两个似兄弟般,但是还是有所不同的
//匿名内部类的“好事不留名”,通常是为了帮助别人,帮完就走了,不会再和同一个人在同一个时间同一个地点帮他同一件事!
//亲,独一无二啊….好银啊!O(∩_∩)O~
package com.cbh.nonname_class;
java编程网:http://www.haohaoblog.com
public class Noname_class
{
int nc=12;
Noname_class()
{
System.out.println("我是匿名内部类的父类构造方法");
}
Noname_class(int i)
{
System.out.println("我是Noname_class的有参构造,这里的i="+i);
}
void non()
{
System.out.println("我是Noname_class的一个方法");
}
public static void main(String[] args)
{
final int i=9;//匿名类的类体重用到的main中成员变量必须是final,即常量
Noname_class nc=new Noname_class(i)
{
{System.out.println("我是匿名内部类的类似构造方法的实体");}
//匿名内部类没有构造方法,但是它有类似构造方法的实体在执行父类构造后会执行此段
void non()
{
System.out.println
("我是内部类的方法,我没有重载和覆盖Noname_class中的non方法,我是新的,我需要输出的main中成员变量必须是常量"+i);
}
};//匿名内部类其实是一种变相的继承,继承了Noname_class的一个有大括号中内容的子类
Thread t=new Thread(new Runnable()
{
public void run()
{
System.out.println("匿名内部类还可以实现接口");
}
});//匿名类可以用于实现接口,其实说到底还是继承和实现的功能
}
}
//局部内部类的名字在方法外是不可见的,因为它的作用域是方法体内,同理,匿名类的作用域
也是在大括号内,显然滴,同志们应该可以看出来,局部内部类可以有多个构造方法的重载,而
匿名类只有一个,因为写完了这此之后就再也见不到了,独一无二的匿名类,即使有另一个也只能说是纯属
雷同,但本质是不一样的,因为此一时彼一时啊!就像有些事情一样,一旦出现了,不去珍惜,等到知道它
是独一无二的时候,你已经错过了,不可能在遇到了,即使很像,那也只是“很像”而已….
//匿名内部类的“好事不留名”,通常是为了帮助别人,帮完就走了,不会再和同一个人在同一个时间同一个地点帮他同一件事!
//亲,独一无二啊….好银啊!O(∩_∩)O~
package com.cbh.nonname_class;
java编程网:http://www.haohaoblog.com
public class Noname_class
{
int nc=12;
Noname_class()
{
System.out.println("我是匿名内部类的父类构造方法");
}
Noname_class(int i)
{
System.out.println("我是Noname_class的有参构造,这里的i="+i);
}
void non()
{
System.out.println("我是Noname_class的一个方法");
}
public static void main(String[] args)
{
final int i=9;//匿名类的类体重用到的main中成员变量必须是final,即常量
Noname_class nc=new Noname_class(i)
{
{System.out.println("我是匿名内部类的类似构造方法的实体");}
//匿名内部类没有构造方法,但是它有类似构造方法的实体在执行父类构造后会执行此段
void non()
{
System.out.println
("我是内部类的方法,我没有重载和覆盖Noname_class中的non方法,我是新的,我需要输出的main中成员变量必须是常量"+i);
}
};//匿名内部类其实是一种变相的继承,继承了Noname_class的一个有大括号中内容的子类
Thread t=new Thread(new Runnable()
{
public void run()
{
System.out.println("匿名内部类还可以实现接口");
}
});//匿名类可以用于实现接口,其实说到底还是继承和实现的功能
}
}
//局部内部类的名字在方法外是不可见的,因为它的作用域是方法体内,同理,匿名类的作用域
也是在大括号内,显然滴,同志们应该可以看出来,局部内部类可以有多个构造方法的重载,而
匿名类只有一个,因为写完了这此之后就再也见不到了,独一无二的匿名类,即使有另一个也只能说是纯属
雷同,但本质是不一样的,因为此一时彼一时啊!就像有些事情一样,一旦出现了,不去珍惜,等到知道它
是独一无二的时候,你已经错过了,不可能在遇到了,即使很像,那也只是“很像”而已….
上一篇: 转:Java中多态性的实现
下一篇: java内部类