【java学习系列】java静态内部类

2018-06-24 20:37:32 织梦安装使用
  • 文章介绍
程序员互动联盟

之前一直在微软.Net平台下开发,在C#中是不能实例化的,而且它的所有成员都要是静态的。我们一般把静态类用作工具类,不需要实例化,直接使用它的属性与方法,整个域中静态类是唯一的

开始用Java后发现Java的静态类一般使用在某个类的内容,简称静态内部类。而且这种类可以像非静态类一样包含各种非静态成员,同时可以实例化。直接颠覆了我对静态类的认知。

下面我对Java的静态内部类和非静态内部类进行对比:

public class outClass {
    public static class innerClass{
        public innerClass(){
            System.out.println("innerClass");
        }
    }
    public static void main(String[] args)
    {
        //outClass a = new outClass();
        innerClass b = new innerClass();
        innerClass c = new innerClass();    
    }  
}

public class outClass {
    public class innerClass{
        public innerClass(){
            System.out.println("innerClass");
        }
    }
    public static void main(String[] args)
    {
        outClass a = new outClass();
        innerClass b = a.new innerClass();
        innerClass c = a.new innerClass();       
    }
}

总结:

通过代码我们发现,非静态内部类是附属在外部类对象上的,需要先实例化一个外部类的对象,通过外部类对象才能实例化非静态内部类;而静态内部类可以 看做是直接附属在外部类上的,这个静态代表附属体是外部类,而不是外部类实例;外部类在进程中是唯一的,而静态内部类不需要唯一,可以生成多个实例。

修改自:http://www.cnblogs.com/end/archive/2012/12/21/2827672.html


联盟推出专业技术系列,如果有编程疑惑可按照如下格式:

专业技术+个人昵称+具体问题

输入到微信公众号里面,具有代表性的问题,联盟将整理成文章发表

输入js获取所有的答疑释惑文章,或者点击“阅读原文

    阅读原文
    阅读原文

    上一篇:html5点击按钮酷炫云雾动画弹出文字..

    下一篇:没有了

    相关文档推荐

    精品模板推荐

    专业的织梦模板定制下载站,在线购买后即可下载!

    商业源码

    跟版网模板,累计帮助5000+客户企业成功建站,为草根创业提供助力!

    立刻开启你的建站之旅
    
    QQ在线客服

    服务热线

    织梦建站咨询