• 首页
        • 更多产品

          客户为中心的产品管理工具

          专业的软件研发项目管理工具

          简单易用的团队知识库管理

          可量化的研发效能度量工具

          测试用例维护与计划执行

          以团队为中心的协作沟通

          研发工作流自动化工具

          账号认证与安全管理工具

          Why PingCode
          为什么选择 PingCode ?

          6000+企业信赖之选,为研发团队降本增效

        • 行业解决方案
          先进制造(即将上线)
        • 解决方案1
        • 解决方案2
  • Jira替代方案
目录

Java中类与静态类的区别是什么

定义在⼀个类内部的类叫内部类,包含内部类的类称为外部类。外部类按常规的类访问⽅式使⽤内部类,唯⼀的差别是外部类可以访问内部类的所有⽅法与属性,包括私有⽅法与属性。

一、Java中类的分类

定义在⼀个类内部的类叫内部类,包含内部类的类称为外部类。

内部类可以声明public、protected、 private等访问限制,可以声明为abstract的供其他内部类或外部类继承与扩展,或者声明为static、final 的,也可以实现特定的接⼝。

外部类按常规的类访问⽅式使⽤内部类,唯⼀的差别是外部类可以访问内部类的所有⽅法与属性,包括私有⽅法与属性。

二、内部类与静态类的区别

1,静态内部类可以有静态成员(⽅法,属性),⽽⾮静态内部类则不能有静态成员(⽅法,属性)。

2,静态内部类只能够访问外部类的静态成员,⽽⾮静态内部类则可以访问外部类的所有成员(⽅法,属性)。

3,实例化⼀个⾮静态的内部类的⽅法:

a.先⽣成⼀个外部类对象实例 OutClassTest oc1 = new OutClassTest(); b.通过外部类的对象实例⽣成内部类对象 OutClassTest.InnerClass no_static_inner = oc1.new InnerClass();

4,实例化⼀个静态内部类的⽅法:

a.不依赖于外部类的实例,直接实例化内部类对象 OutClassTest.InnerStaticClass inner = new OutClassTest.InnerStaticClass();

b.调⽤内部静态类的⽅法或静态变量,通过类名直接调⽤ OutClassTest.InnerStaticClass.static_value OutClassTest.InnerStaticClass.getMessage()

以上就是关于Java中类与静态类的知识希望对大家有帮助。

相关文章