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
更多>>
Java中方法与类的区别是什么?
一、方法的定义什么是方法?简而言之,方法就是解决问题的办法。在Java语言中,方法大多用于处理一些数据并得到结果,其包括以下几种要素:修饰...详情>>
2023-10-18 23:27:40
全角和半角的区别是什么?
一、全角和半角的区别1、输入效果不一样正常情况下全角在输入字母、数字的时候,它每两个字母之间的间隔是很大的,而半角输入状态下,两个字母...详情>>
2023-10-18 21:27:26
人工智能核心技术有哪些方面?
一、人工智能核心技术1. 深度学习机器学习是实现人工智能的一种重要方法。机器学习的概念来自早期的人工智能研究者,简单来说,机器学习就是使...详情>>
2023-10-18 17:18:04
ajax乱码怎么解决?
一、ajax乱码解决办法1. 在服务器指定发送数据的格式在服务器指定发送数据的格式:在jsp文件中代码如下response.setContentType(“text/text;ch...详情>>
2023-10-18 15:24:52