第三章第三章 Java Java 面向对象程序设计面向对象程序设计(cont) (cont) ? 内部类? 异常处理 内部类内部类( (对应对应 节节) ) ?内部类是定义在某个类的类体或块中的类。?内部类有多种形式: –成员类–静态成员类–局部类–匿名类 1 1、成员类、成员类?例:简单的内部类 class B { B (){ ("instance of B."); } class InnerB { // 定义内部类 InnerB (){ ("Instance of InnerB ."); } }//^class InnerB } class A { public static void main(String [ ] args ){ B bbb =new B (); inbbb = InnerB (); //创建内部类对象 (); inbbb =new B ().new InnerB (); } }成员类成员类?成员类的特点: –创建一个内部类的对象,必须先有一个外包类的对象存在。–外包类与其内部类之间完全互相信任。?例: class B { private int x=100; class InnerB { private int y=1111 / * ,x=8888 * /; void show () { (x) ; //访问 B518 的 private 成员 ( y+"\n ") ; } } public void show (){ // 外包类的方法成员类成员类 InnerB inB =new InnerB (); //创建内部类对象 ( inB ) ; ( +"\n ") ; //访问 InnerB 的私有成员 () ; } } class A { public static void main (String[ ] args ){ new B () .new InnerB () .show () ; new B ().show (); } } 2 2、静态成员类、静态成员类?静态成员类的特点: –只与外部类有关系,而不依赖于外部类的对象。–因而静态成员类的创建不需要有外部类的存在。?例: class B{ protected static class InnerB { } // 静态成员类} class A{ public static void main (String[ ] args ) { // (new B()); inB =new (); ( inB ); // (new ()) ; } } 3 3、、局部类局部类?局部类定义在方法体内–因而外部不可访问。–不需要访问修饰符。?注意:局部类的对象在堆中创建?局部类可以访问外包方法之外的类的一切成员。?局部类只能访问外包方法的 final 局部变量。 4 4、、匿名类匿名类例:匿名类示例 abstract class C { abstract void foo (); } class B { public C go ( int x, final int y ) { return new C() { public void foo (){ (y) ; } }; // 匿名类的定义是一个语句,要以;结束} public void gogo (C c00) { (); } } 匿名类匿名类 public class A{ public static void
java课件内部类-课件(PPT演示稿) 来自淘豆网m.daumloan.com转载请标明出处.