Java基础知识——内部类

来源:互联网 发布:材料仿真实验室软件 编辑:程序博客网 时间:2024/05/29 18:27
内部类:类中定义的类称为内部类。分为以下几种:
1、类中定义的普通类
2、类中定义的静态类
3、成员方法中定义的内部类

4、静态方法中定义的内部类。

Outer类在外,Inner类在内;主要实现方法,和在mian函数中的调用方法。代码如下:


<pre name="code" class="java">public class Outer{Outer(){System.out.println("Outer Class constructor...");}Outer(String name){this();this.name=name;}public void showName(){System.out.println("Outer class Name is :"+this.name);}//成员方法中定义的内部类public void fun(String name){class Inner3{        Inner3(){System.out.println(" Inner3 Class constructor...");}    Inner3(String name){this();this.name=name;}public void showName(){System.out.println(" Inner3 class Name is :"+this.name);}}new Inner3(name).showName(); }//静态方法中定义的内部类public static void method(String name){class Inner4{     Inner4(){System.out.println(" Inner4 Class constructor...");}    Inner4(String name){this();this.name=name;}public void showName(){System.out.println(" Inner4 class Name is :"+this.name);}}new Inner4(name).showName();}//普通的内部类   class Inner     {   Inner(){System.out.println(" Inner Class constructor...");}    Inner(String name){this();this.name=name;}public void showName(){System.out.println(" Inner class Name is :"+this.name);}}//静态内部类     static class Inner2     {  Inner2(){System.out.println(" Inner2 Class constructor...");}    Inner2(String name){this();this.name=name;}public void showName(){System.out.println(" Inner2 class Name is :"+this.name);}      } public static void main(String[] args){Outer.outer=new Outer("zhangsan");outer.showName();Inner inner=new Outer().new Inner("lisi");//下生成外部类的对象,再生成内部类对象                inner.showName();
                //静态内部类。个人理解,类似与静态方法,属于Outer类,而不属于对象,使用类名直接调用。Outer.Inner2 inner2=new Inner2("wangwu");//Outer.Inner2 inner2=new Outer().new Inner2("wangwu");//静态时属于类的,不属于对象,上面的new对象出来是错误的innner2.showName();               //成员方法中定义的内部类outer.fun("zhaoliu");
               //静态方法中定义的内部类outer.method("sunqi");}}


0 0