您的位置:首页 > 其它

内部类各种用法演示

2014-10-30 22:09 260 查看
/*注释:本程序演示各种内部类的书写方法,调用方法.*/

class Outer{
class Inter{
public void medo(){
System.out.println("内部类和内部类里面的方法都非静态.");
}
}

}

class Outer1{
static class Inter1{
public static void medo1(){
System.out.println("内部类和内部类里面的方法都是静态的.");
}
}

}

class Outer2{
static class Inter2{
public void medo2(){
System.out.println("内部类是静态的,内部类里面的方法都是非静态的.");
}
}

}

//局部位置内部类定义在方法中

class Outer3{
public void function(){
class Inter3{
public void show(){
System.out.println("局部位置内部类定义在方法中");
}
}
new Inter3().show();
}

}

//匿名内部类

interface A{
public abstract void show();

}

class Outer4{
public void function(){
//将实现类,重写方法,调用一步完成
new A(){//匿名内部类,或称为接口的实现类对象
public void show(){
System.out.println("匿名匿名内部类");
}
}.show();
}

}

//接口实现多个匿名内部类

interface B{
public abstract void show();
public abstract void show2();

}

class Outer5{
public void function(){
B b =new B(){
public void show(){
System.out.println("多个接口匿名匿名内部类");
}
public void show2(){
System.out.println("多个接口匿名匿名内部类");
}
};
b.show();
b.show();
}

}

public class InsideType {
public static void main(String[] args) {
Outer.Inter otit = new Outer().new Inter();
otit.medo();
System.out.println("----------第一种实现方法打印完成---------");
Outer1.Inter1.medo1();
System.out.println("----------第二种实现方法打印完成---------");
Outer2.Inter2 ouit2 = new Outer2.Inter2();
ouit2.medo2();
System.out.println("----------第三种实现方法打印完成---------");
new Outer3().function();
System.out.println("----------局部位置内部类定义在方法中打印完成---------");
new Outer4().function();
System.out.println("----------匿名内部类实现方法打印完成---------");
new Outer5().function();
System.out.println("----------打印完成---------");
}

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