java内部类和静态内部类的区别
1 相同点
使用的时候,import的时候,除了包名,还要带外部类。
2 不同点
2.1 对象创建的方式不同
静态内部类创建对象的时候,独立于外部类及其对象,就好像它是一个独立的类,可以和外部类一样使用。
内部类创建对象的时候,不能独立于外部类,必须要先创建外部类的对象,然后再用这个对象来new出内部类的对象。
2.2 内部类不可以有非常量的静态成员
原因很简单,静态成员可以不依赖于对象使用,如果内部类有静态成员的话,就相当于外部类对象直接调用内部类的静态成员,一个是对象,一个是类,不伦不类的。
所以,要给内部类的定义静态成员,必须要使用静态内部类。
报错
The field instance cannot be declared static in a non-static inner type, unless initialized with a constant expression
就算是内部类用了静态的常量,也没有什么用,在外面也不能脱离了内部类对象访问。
转载于:https://www.cnblogs.com/hustdc/p/8894073.html
java内部类和静态内部类的区别相关推荐
- java 内部类和静态内部类的区别
private class InnerClass { // 只有在静态内部类中才能够声明或定义静态成员 // private static String tt = &q ...
- Java面试题—内部类和静态内部类的区别
内部类和静态内部类的区别 内部类: 1.内部类中的变量和方法不能声明为静态的. 2.内部类实例化:B是A的内部类,实例化B:A.B b = new A().new B(). 3.内部类可以引用外部类的 ...
- 静态属性_Java面试题—内部类和静态内部类的区别
内部类和静态内部类的区别 内部类: 1.内部类中的变量和方法不能声明为静态的. 2.内部类实例化:B是A的内部类,实例化B:A.B b = new A().new B(). 3.内部类可以引用外部类的 ...
- java 静态内部类 内部类_Java中内部类和静态内部类的区别
内部类和静态内部类 示例 public class OuterClass { private int numPrivate = 1; public int numPublic = 2; public ...
- Java内部类介绍 - 静态内部类和成员内部类
文章目录 内部类 内部类概述 静态内部类 成员内部类 内部类 内部类概述 内部类就是定义在一个类里面的类,里面的类可以理解成(寄生),外部类可以理解成(宿主). // 外部的People类可以理解成宿 ...
- Java内部类与静态内部类
http://hi.baidu.com/zhumulangma/item/bcd478c140427b2cef466532 定义在一个类内部的类叫内部类,包含内部类的类称为外部类.内部类可以声明pub ...
- 内部类与静态内部类区别及举例
文章目录 1.内部类与静态内部类的区别 2.举例说明 2.1 内部类 2.2 静态内部类 1.内部类与静态内部类的区别 静态内部类相对与外部类是独立存在的,在静态内部类中无法直接访问外部类中的变量.方 ...
- java 内部类_java的内部类和静态内部类(嵌套类)
背景 开发新项目,写Swager的mode的时候用到了嵌套Model,于是在代码中,出现了静态内部类.在codeReview的时候稍微和大家聊了一下.尤其是Static 修饰类和修饰对象和变量不一样呢 ...
- java静态内部类有什么好处6_java的内部类和静态内部类(嵌套类)
背景 开发新项目,写Swager的mode的时候用到了嵌套Model,于是在代码中,出现了静态内部类.在codeReview的时候稍微和大家聊了一下.尤其是Static 修饰类和修饰对象和变量不一样呢 ...
最新文章
- jquery的基本api
- 如何快速搭建一个简约美观的在线互动教室?
- 开源版本_开源版本PowerShell Core 6.2 发布
- java保存base64图片_java保存base64位的图片,并且用时间文件夹分割
- 711 发送请求失败_会不会存在不失败的代理IP?
- spss22.0统计分析从入门到精通_数据分析最全资料:SPSS/MATLAB/SQL/SAS/EXCEL经典教材+视频教程,快速入门!...
- 这几道 C/C 题涉及你的知识盲区?
- MySQL服务器地址为空,C++/MySQL - 通过主机地址访问数据库时'未知的MySQL服务器主机';没有IP...
- c# Winform 开发分屏显示应用程序
- C++ 调用 python
- BackgroundWorker线程控件用法
- 人工合成生命的最新进展比AI还快
- 边缘检测——Roberts算子
- CAD关于文字样式删除文字样式操作(com接口c#语言)
- 基于安卓Android平台的数独游戏的开发
- CodeCademy | Python | 6. Pyglatin
- Python 相异性矩阵计算
- 普通高中机器人竞赛的现状、问题、对策
- linux服务器强制关机,Mac强制关机的4种方法以备不时之需
- STM32驱动_cc2420