A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© God’s favoure 中级黑马   /  2014-10-30 21:57  /  880 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*注释:本程序演示各种内部类的书写方法,调用方法.*/

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("----------打印完成---------");
        }
}

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1 赞一个!

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马