首页 > 代码库 > 类与对象动手动脑

类与对象动手动脑

1.以下代码无法通过编译,哪里出错了?

技术分享

原因:因为构造函数Foo()没有进行定义,如果类提供了一个自定义的构造方法,将导致系统不再提供默认构造方法。

截图:

技术分享

2..请依据代码的输出结果,自行总结Java字段初始化的规律

技术分享

技术分享

输出结果:

技术分享

总结Java字段初始化的规律:Java字段初始化规律系统会按顺序对Java字段进行初始化,如果有好几个方法都对同一个变量进行了初始化。Java会将最后一次的初始化结果赋给该变量。

3.动手动脑:请运行TestStaticInitializeBlock.java示例,观察输出结果,总结出“静态初始化块的执行顺序”

静态初始化块只执行一次。创建子类型的对象时,也会导致父类型的静态初始化块的执行。

技术分享

4.静态方法只允许访问静态数据,那么,如何在静态方法中访问类的实例成员(即没有附加static关键字的字段或者方法)

请编写代码验证你的想法

技术分享

5.使用类的静态字段和构造函数,我们可以跟踪某个类所创建对象的个数。请写一个类,在任何时候都可以向它查询“你已经创建了多少个对象?”。

技术分享

 

类与对象动手动脑