构造方法
构造方法的名字跟类名一样
没有返回值,也不能写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 }
方法的重载
同名的方法通过不同的形参做类似的事情,这就叫方法的重载
方法重载要求:
- 方法的形参个数
- 方法的形参顺序
- 方法的形参数据类型
这三个至少有一个是不一样的
如果两个方法只是方法的返回值(返回值类型 )不一样,其他都一样,这构不成方法的重载,因为调用方法时无法确定调用的哪个方法,所以编译时会报错!