关于想法
最近可能因为小宝宝要出生,总是有点心神不宁,看书的时候效率也没那么高了,敲这行字的时候,老婆把手伸到衣领子里面.
又定了个决定:
下个月开始(为什么下个月而不是现在,有原因的),晚上有时间不打游戏,去健身房搞事儿.
初始化与清理
讲实话,这章值得记录的真的很多,废话不多说,上干货:
构造器
定义:构造器是个什么玩意呢?构造器是为了做到在对象实例化的时候就被初始化的效果,如下
重载
重载不多说,大家也都知道的,所以仅做如下注意点记录:
1. 重载的作用是为了实现同一个方法名处理不同的传参类型
2. 重载的区分方法是传参类型差异
3. 切记重载不可以由返回值区分
4. 重载传参可以为可变参数,但是最好不要这样,因为可变参数支持无参,那么若有三个重载传参都是单纯的可变参数,那么不传参的调用方式就不知道调用的是哪个方法了.
this 指针
首先 this 指针的意思是调用方法的对象.
需要注意如下几点:
1. 想要在构造其中调用构造器(代码复用),可以用 this(传参)
2. 上述方法注意:在构造器中调用构造器的时候,只能存在一次,并且调用必须在这个构造器的顶端,否则报错.
3. 除了在类的构造器中使用 this 调用其它构造器。否在则一个类中的其它地方不可以调用构造器
初始化
成员初始化
首先,什么叫做初始化,初始化是指在创建一个类的实例的时候,不仅要有这个类的空间,还得存在这个类的"空白状态"(无构造函数的情况).
那么如果一个对象没有初始化的话,他被声明后其实只是一个 null
他的注意点如下:
指定初始化
即在定义成员变量的时候直接赋值
构造器初始化(** 重点 **)
初始化顺序:
1. 按照变量定义的先后执行初始化
2. 任何方法或构造器中,都是初始化方法先执行,详情见上面的示例代码
静态方法的初始化
1. 静态对象 A 属于某个对象 B 的时候,仅当 B 初始化的时候,A 才会被初始化,并且切记,只会被初始化一次,见上面的示例
2. 在对象中,对象初始化的顺序遵循先静态后非静态
显式的静态初始化
public class DW{
static int i;
static {
i = 47;
}
}
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于