现在的位置: 首页 > 综合 > 正文

一个有趣的JAVA程序。

2013年12月02日 ⁄ 综合 ⁄ 共 1090字 ⁄ 字号 评论关闭

这个程序从某些意义上来说打破了JAVA的一些语法规定,比如说“单个文件里只能一个public公共类、Java不允许多重继承、类不能被申明成privateprotected”。

而造成这一切的就是内部类了。

在这个程序中可以这样说:

1.         MultipleExtendsText.java文件里有两个用public申明的类:MultipleExtendsTextTestA

2.         MultipleExtendsTest同时继承了类ABC

3.         TestBprivate所申明。

 

//--------MultipleExtendsText.java--------

/**

*@author Donnki

*/

abstract class A{}

abstract class B{

       abstract void printSomething(int x);

}

class C{

       String s = "Member field in class C";

}

public class MultipleExtendsTest extends A{

       public class TestA extends B{      

              public TestA(){

                     System.out.println("Constructor in inner class.");

              }

              void printSomething(int x){

                     System.out.println("Inner class 'Test'. Argument: " + x);

              }

       }

      

       private class TestB extends C{}

      

       public static void main(String[] args) {       

              MultipleExtendsTest met = new MultipleExtendsTest();

              met.new TestA().printSomething(10);         

             

              A a = new A(){};    //匿名内部类。

             

              System.out.println(met.new TestB().s);      

       }

}

 

抱歉!评论已关闭.