1.用构造器确保初始化
无参构造器和有参构造器的定义不说了,说下我使用时忽略的知识点
构造器是一种特殊类型的方法,它没有返回值。(new表达式确实返回对新建对象的引用,但构造器本身无返回值)。
2.方法重载
区分重载的方式有多种,这边介绍几种:
1.根据重载方法的参数顺序来区分,比如(int,String)和(String,int)
2.根据重载方法的基本类型自动区分,比如(int),(float),(String),
注意:如果参数同时满足2种重载方法,则自动从小到大顺序来选一种,
比如
如果重载有:int,float,double 三种重载方法,那么:xx(5);它使用的是int方法。
如果重载只有:float和double 两种重载方法,那么:xx(5);它使用的是float方法。
还有个特例,char型的参数,如果找不到能接受char参数的方法,则自动会将char提升至int型
3.根据返回值区分重载方法:
比如还是 int,float,double三种:
那么比如 float A=5; xx(A)使用的就是float重载方法。
3.在构造器中调用构造器
这里构造器中调用构造器使用的是this关键字,因为它本身表示对当前对象的引用
public class Test1 {
Test1(String name,int year){
this(name);
System.out.println("年份:"+year);
}
Test1(String name){
System.out.println("名字:"+name);
}
}
public class Test {
public static void main(String [] args){
Test1 test1=new Test1("沙丁鱼flat",2019);
}
}
4.初始化
4.1 成员指定初始化
在定义变量时直接赋值,例:
int i=1;
String A="沙丁鱼flat";
4.2 构造器初始化
构造器的定义顺序决定初始化的顺序。
它的初始化基本都是将初始化的变量定义放入构造器中。
4.3 数组初始化
数组是相同类型的对象(或基本类型)序列。
int[] a={1,2,3,4,5};
5.枚举类型
public enum test{
one,two,three
}
public static void main(String [] args){
test a=test.one;
System.out.println(a);
}