抽象类,接口,内部类
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);
//...
}
}
*/
{
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);
//...
}
}
*/
相关文章推荐
- 抽象类、接口和内部类(下)
- Java之接口与内部类6.2.1--抽象类
- 内部类接口的实例化(抽象类包含接口)
- 黑马程序员Java笔记——抽象类、接口、内部类(拾遗补录)
- java 匿名内部类 抽象类跟接口可以直接New出来啊~~
- java中接口、抽象类的区别,以及内部类若干思考
- 黑马程序员—面向对象(static,封装,继承,多态,内部类,抽象类,接口)总结
- 接口-抽象类-内部类
- 抽象类,接口,多肽和内部类以及内存管理
- java基础第六讲——抽象类、接口、内部类、常用类、异常、IO流
- Bravo!Java学习笔记(1)---接口、抽象类、对象克隆、内部类
- 【Java总结】final关键字,抽象类,接口,内部类
- Java 抽象类、接口、内部类
- OOP Unit06 抽象类、接口和内部类(下) 、 面向对象汇总
- 抽象类、接口和内部类
- 内部类 new 接口名/抽象类名(){}
- 面向对象(二)(static,.final,抽象类,接口,内部类)
- 51CTO大数据学习003-抽象类、接口、内部类
- 黑马程序员——黑马学习日志之七 抽象类,接口,内部类,包
- Java基础之接口、内部类、抽象类