内部类各种用法演示
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("----------打印完成---------");
}
}
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("----------打印完成---------");
}
}
相关文章推荐
- C#各种数组的用法实例演示
- java 泛型深入之Set有用工具 各种集合泛型深入使用演示样例,匿名内部类、内部类应用于泛型探讨
- CSS各种滤镜代码解释用法案例
- //蛙蛙推荐:演示索引指示器的用法(C#)
- SQL中的left outer join,inner join,right outer join各种连接用法
- 演示arguments的用法
- SQL中FOR XML子句的各种用法
- 演示arguments的用法
- 在视中化图及各种形状的几个类的用法:CBrush, CPen等
- c# 的messageBox的各种用法
- sql里各种join的用法及含义
- 各种专用iterator的用法
- SET XACT_ABORT各种用法及显示结果
- SET XACT_ABORT各种用法及显示结果
- javascript模态窗体各种用法(转)
- GridView 的各种用法(3)
- javascript入门系列演示·三种弹出对话框的用法实例
- 演示Pen对象的各种风格
- 详解for循环(各种用法)
- javascript入门系列演示·三种弹出对话框的用法实例