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中类与静态类的知识希望对大家有帮助。

相关推荐HOT
更多>>
JDK8.0和JDK7.0的区别?
一、JDK8.0和JDK7.0的区别JDK8.0和JDK7.0的区别主要在在JMM方面。永久代在JDK8之前的HotSpot实现中,类的元数据如方法数据、方法信息(字节码,...详情>>
2023-10-11 18:54:17
Java中类与静态类的区别是什么?
一、Java中类的分类定义在⼀个类内部的类叫内部类,包含内部类的类称为外部类。内部类可以声明public、protected、 private等访问限制,可以声...详情>>
2023-10-11 17:53:13
什么是DML?
一、什么是DMLData Manipulation Language( DML) 是SQL(结构化查询语言)的一个子集,用于管理和操作关系数据库中的数据。 命令用于插入、更新...详情>>
2023-10-11 17:23:06
业务需求管理办法有哪些规定?
一、业务需求管理办法的规定1. 对于产品任务计划产品经理接收或确认需求后,对需求池的需求安排优先级,确定需求的产品设计时间计划。一旦确定...详情>>
2023-10-11 16:23:27