04-JAVA中的类和对象
2024-10-18 22:35:27
1.
Foo对构造函数进行了重载,那么默认的构造函数就不会被使用,在主类中,定义对象的时候,引用构造函数,却没有参数,自然无法通过编译。
2.
当设定字段初始值在初始化块前面的时候,
很明显使用了前者;
当初始化块在设定字段初始值前面的时候,
同样使用了前者;
得出的规律是:它们俩,谁在前面,就用谁;
但是,上面两张图都有一点相同的地方,就是当引用构造函数的时候,那么它的优先级是始终大于设定字段初始值和初始化块的。
3.
运行结果:
由运行结果可以很明显的看出,当主函数中new Leaf( ) 的时候,从最顶层的类开始,依次调用静态初始化块。
4.
解决方法:由于静态方法只能访问静态数据,所以,我就想到可以在方法里先定义一个静态对象,这样这个静态方法就可以访问类的实例成员了。
经过验证,发现这个方法确实可行。
5.
public class LianXi { public static void main(String[] args) {
// TODO Auto-generated method stub
A1 obj1=new A1();
A1 obj2=new A1();
A1 obj3=null;
System.out.println("已定义了"+A1.num+"个对象。");
} }
class A1{
static int num=0;
A1(){
jiShu();
}
static void jiShu(){
num++;
} }
程序运行结果:
最新文章
- XML的简介及其与HTML的区别及联系
- 逻辑回归(LR)总结复习
- tcp/ip http socket笔记
- 关于在gridview中有dorpdownlist的情况下使用自带编辑模板的方法
- 什么是CGI
- Android 自定义RecyclerView 实现真正的Gallery效果
- IOS开发中针对UIImageView的几种常用手势
- nginx图片服务器配置
- js 条件判断放大字体
- php中的四种排序算法
- Jacoco远程统计tomcat服务(Windows系统)的代码覆盖率
- 使用performance monitor 查看 每一个cpu core的cpu time
- 第六节: 六类Calander处理六种不同的时间场景
- Android Service、IntentService,Service和组件间通信
- 设置navigation的title
- redis水平扩展实践,完全配置,无需代码改动
- 解决kafka集群由于默认的__consumer_offsets这个topic的默认的副本数为1而存在的单点故障问题
- 20155227 2016-2017-2 《Java程序设计》第一周学习总结
- Zabbix概术及基础介绍(一)
- 【BZOJ 2039】 2039: [2009国家集训队]employ人员雇佣 (最小割)