构造方法
构造方法的名字跟类名一样
没有返回值,也不能写void
若没有写构造方法,则默认生成一个无参构造方法
若自己写了一个有参或无参构造方法,则不会默认生成无参构造方法
1 class A{ 2 public int i; //此处的i没有在方法体内,属于成员变量(属性), 3 //可以不用初始化,数值类型都默认为0 4 public boolean flag; //如果是boolean类型,默认false 5 6 public void show(){ 7 System.out.printf("%d",i); //此时虽然没有给i赋值,但是会输出0 8 System.out.printf("%b",flag);//boolean类型用%b或者%B输出 9 } 10 } 11 12 class const{ 13 public static void main(String[] args){ 14 A aa = new A(); 15 aa.show();//调用show方法,输出0 16 17 int k;//此处的K是在方法体内,属于局部变量,不初始化会报错 18 //java要求所有局部变量在使用之前必须初始化 19 System.out.printf("%d",k); //编译报错 20 } 21 }
方法的重载
同名的方法通过不同的形参做类似的事情,这就叫方法的重载
方法重载要求:
- 方法的形参个数
- 方法的形参顺序
- 方法的形参数据类型
这三个至少有一个是不一样的
如果两个方法只是方法的返回值(返回值类型 )不一样,其他都一样,这构不成方法的重载,因为调用方法时无法确定调用的哪个方法,所以编译时会报错!