JAVA的访问修饰符、内部类、初始化块
来源:互联网 发布:head first python知乎 编辑:程序博客网 时间:2024/06/13 09:46
abstract和final两个几乎随处可用的就不说了。
最外部的类只能有public\default。
public和.java文件名一致。显然只能有一个。
default在同包内可访问。protected则附加包外子类也可。
在最外部的类当中,可以倒腾这些东西
内部类:public, protected, default, private。
相互之间随便访问private。实际上,好像这几个访问修饰符用在这里没什么差别,是不是java设计上的不完备?
内部类不能被其他类实例化。
初始化、静态初始化块:default。
可以访问任何内部类private,而自己不能被任何内部类访问,即内部类不知道块中类的存在。
所以块中类实际上是一种局部内部类,离开{}即不可见。
但是当然块中如果定义了多个class,相互可以随意访问private。
{}和static{}之间自然也是不可见的。
另外可以注意一下块中类javac出来的.class,是$1和$2修饰的,而且不是1和2这样跟它们对应的,而是同名冲突了才会用2。
执行顺序:
父类static{},子类static{},父类{},父类构造函数,子类{},子类构造函数
四种内部类:
常规内部类,静态内部类,局部内部类,匿名内部类。
匿名内部类不能是abstract或static
局部内部类不能是static
常规内部类内部不能再定义static类、static{}
0 0
- JAVA的访问修饰符、内部类、初始化块
- java内部类的修饰符
- Java中的访问修饰符,this关键字,内部类
- Java 中的访问修饰符和内部类
- [java] 块语句内不能加访问修饰符
- JAVA中内部类(匿名内部类)访问的局部变量为什么要用final修饰?
- JAVA中内部类(匿名内部类)访问的局部变量为什么要用final修饰?
- java中外部类和内部类修饰符的区别
- 非静态内部类的修饰符及其访问范围
- Java 虚拟机内部类静态字段的初始化与访问
- java内部类的初始化
- java内部类的初始化
- Java基础进阶_day04_(static,代码块,final,包与权限修饰符,内部类)
- 匿名内部类 初始化块
- JAVAEE第15天-static,final关键字,访问权限修饰符,内部类,静态代码块,包的声明和导入
- java内部类及修饰符
- Java封装(修饰符+包+内部类)
- 于java里方法的内部类只能访问被final修饰的局部变量和.
- Python学习之文件(二)
- Qt4开发环境搭建(Qt4.8.7+mingw4.8.2+Qt Creator4.2.0)
- 【网络编程】——UDP和TCP通信方式
- jdbc 连接数据库类
- LeetCode#89. Gray Code(格雷码)
- JAVA的访问修饰符、内部类、初始化块
- jdk环境变量配置 详解
- python中的map(),reduce(),filter()函数
- 修改时,select根据参数自动选择其中某项
- [PAT-乙级]1008.数组元素循环右移问题
- 1092: 回文数(一)
- [BZOJ]3747: [POI2015]Kinoman 线段树
- Unity 截屏 录屏 并且保存到 iOS相册
- 不好编程习惯挖的坑——优先级