构造方法、方法的重载

2019-09-05 17:43:19 浏览数 (1)

构造方法

构造方法的名字跟类名一样

没有返回值,也不能写void

若没有写构造方法,则默认生成一个无参构造方法

若自己写了一个有参或无参构造方法,则不会默认生成无参构造方法

代码语言:javascript复制
 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 }

方法的重载

同名的方法通过不同的形参做类似的事情,这就叫方法的重载

方法重载要求:

  1. 方法的形参个数
  2. 方法的形参顺序
  3. 方法的形参数据类型

这三个至少有一个是不一样的

如果两个方法只是方法的返回值(返回值类型 )不一样,其他都一样,这构不成方法的重载,因为调用方法时无法确定调用的哪个方法,所以编译时会报错!

0 人点赞