标签:实例 initial 技术分享 因此 查询 直接 images 定义 代码
1.以下代码为何无法通过编译?哪儿出错了?
原因:调用的new Foo是函数Foo(),所以括号里面应该有一个int型变量参数,比如写一个1。
2.进行实验,根据下列代码的输出结果,自行总结java字段初始化的规律。
结果:
对此结果的分析:
3.所以在主函数中的System.out.println(obj.field);输出的filed=100.
4.obj=new InitializeBlockClass(300); System.out.println(obj.field);是调用了构造函数,使用构造函数进行了初始化,赋值300,故输出的filed=300.
对规律进行的总结:
3.请运行以下程序,观察输出结果,总结出“静态初始化块的执行顺序”。
结果:
静态初始化块的执行顺序:
父类的静态初始化块
子类的静态初始化块
父类的初始化块
父类的构造函数
子类的初始化块
子类的构造函数
4.一个有趣的问题
静态方法中只允许访问静态数据,那么,如何在静态方法中访问类的是实例成员(即没有附加static关键字的字段方法)?
结果:
要在静态方法中访问类的实例成员,需要先用new,创建一个对象,然后再通过这个对象去调用成员的方法和变量。
5.程序
使用类的静态字段和构造函数,我们可以跟踪某个类的所创建对象的个数。请写一个类,在任何时候都可以向它查询“你已经创建了多少个对象?”。
结果:
标签:实例 initial 技术分享 因此 查询 直接 images 定义 代码
原文地址:http://www.cnblogs.com/anhaoai/p/7694258.html