• Java---- 静态内部类与非静态内部类的区别


    静态类(只有内部类才能被声明为静态类,即静态内部类)
    1.只能在内部类中定义静态类
    2.静态内部类与外层类绑定,即使没有创建外层类的对象,它一样存在。
    3.静态类的方法可以是静态的方法也可以是非静态的方法,静态的方法可以在外层通过静态类调用,而非静态的方法必须要创建类的对象之后才能调用。
    5.只能引用外部类的static成员变量(也就是类变量)。
    6.如果一个内部类不是被定义成静态内部类,那么在定义成员变量或者成员方法的时候,是不能够被定义成静态的。

    总结
    1.是否能拥有静态成员
    静态内部类可以有静态成员(方法,属性),而非静态内部类则不能有静态成员(方法,属性)。
    2.访问外部类的成员
    静态内部类只能够访问外部类的静态成员,而非静态内部类则可以访问外部类的所有成员(方法,属性)。
    3.静态内部类和非静态内部类在创建时有区别

    //假设类A有静态内部类B和非静态内部类C,创建B和C的区别为:
    A a=new A();
    A.B b=new A.B();
    A.C c=a.new C();

  • 相关阅读:
    模型分离(选做)
    密码保护
    实现搜索功能
    完成个人中心—导航标签
    个人中心标签页导航
    评论列表显示及排序,个人中心显示
    完成评论功能
    从首页问答标题到问答详情页
    运行Junit单测时遇到的问题
    spring定时任务执行两次的原因与解决方法
  • 原文地址:https://www.cnblogs.com/insist-bin/p/11137675.html
Copyright © 2020-2023  润新知