普通类初始化那点事
来源:互联网 发布:java 整型数组 编辑:程序博客网 时间:2024/06/11 15:35
1、类是什么?
答:简单继续粗暴起来,类型的同义词就是类啦,哈哈哈哈哈。类是实例对象的模版、蓝图,类是自建的数据结构(我更喜欢叫对象组合),类可以生成无数个对象。简单粗暴。
2、什么是初始化顺序?
答:类里的成员:静态成员、普通成员。让我们看看一个类加载到jvm时,它怎么处理它的成员初始化顺序
3、上酸菜…………例子………………
public class Bird {static int a = 5; static String name;public Bird() {super();System.out.println("构造方法 public Bird()");}Inter myInter = new Inter();static StaInter staInter = new StaInter();{System.out.println("普通代码块{ }");}static {System.out.println("静态代码块 static { }");}public static void main(String args[]) {System.out.println("void main(String args[])");new Bird();}private static class StaInter{ //静态内部类,因为是作为外部类的静态成员,所以不需要外部类的实例对象就可使用,好处是它可以任意使用外部类的静态成员(字段、方法)StaInter() {super();System.out.println("静态内部类构造方法 StaInter()");}}private class Inter {Inter() {System.out.println("普通内部类构造方法 Inter()");}}}
输出结果:
静态内部类构造方法 StaInter()静态代码块 static { }void main(String args[]) //jvm会在类加载进去后,调用入口main方法普通内部类构造方法 Inter()普通代码块{ }构造方法 public Bird()
4、总结
a、首先初始化静态成员(静态变量、静态代码块)。
b、接下来是普通成员(实例变量、普通代码块)。
c、最后是构造方法。
注意:a、b两种同级别成员各自按照在代码中的书写顺序,决定谁先初始化。例如:有三个静态变量(称a、b、c)谁写在前,谁就先初始化。
0 0
- 普通类初始化那点事
- 子类初始化那点事
- 关于kettle初始化的那点事
- 初始化那点小事
- 关于kettle初始化的那点事2
- java 类加载和初始化的那点秘密
- java 类加载和初始化的那点秘密
- java 类加载和初始化的那点秘密
- 抽象类那点事
- 关于MediaFile类的那点事
- 关于父类继承那点事
- 面试那点事
- 公司那点事
- 编程那点事!!
- 公务员那点事
- 毕业那点事
- JVM 那点事
- C++那点事
- 撤销Undo
- 【OpenCV】绘制图像的直方图
- Java数组
- 社区发现的一些算法
- 互联网四大黄金职位
- 普通类初始化那点事
- 地面效应和起飞不平稳的问题
- iOS 9适配技巧(更新版)
- 大页(huge pages) 系列五 ---USE_LARGE_PAGES 参数
- UEditor1.4.3在SSH框架项目中上传图片的设置
- openGL 在光源处画一个球,移动光源
- iOS 9新系统下App Store应用上传新指南
- oracle初级系列教程
- (5)使用Lucene、LingPipe做实体链接(Entity Linking)——使用Lucene构建歧义实体映射index、歧义实体上下文index