【9】 Java基础<九> —— 构造器的重载

构造器的重载

  构造器可以重载,创建对象时根据参数调用相应的构造器。

注意

  构造器不能直接相互调用,例如:

构造方法A(参数1,参数2){

  

}

构造方法B(参数1,参数2,参数3){

  构造方法A(参数1,参数2);  //这样的调用是错误的

}

使用this来调用!!!

this:

  代表的是当前对象的引用!

  this(参数)在构造方法中代表的创建的对象,根据参数调用本类当中相应重载的构造方法

  this.属性  : 表示堆内存当中对象的属性,在赋值或者打印的时候  用于区别局部变量的重名。

总结:

  this代表的是当前对象的引用,哪个对象调用了这个方法那么这个方法中this就代表哪个对象。

**************************************************

super:代表父类的引用

  super( )  调用父类中的构造方法。默认构造方法中自带super( );

  super.属性  调用父类中的属性

  super.方法  调用父类中被重写(覆盖)的方法

**************************************************

总结:

  this  和   super  在构造方法中只能存在一个! 

  并且必须在第一行 !!!

 

1.先写一个父类用来被继承

1 FU.java
2 
3 public class FU {
4 
5     FU(){
6         super();
7         System.out.println("父类空参构造器");
8     }
9 }

 2.写一个类来继承FU类,实现构造器的重载

 1 Test.java
 2 
 3 public class Test extends FU{
 4 
 5     Test(){
 6         System.out.println("无参构造器");
 7     }
 8     Test(String s){
 9         super();
10         System.out.println("有参构造器");
11     }
12     Test(String s , int i){
13         //Test(s);  在构造器里不能直接调用
14         //super();
15         this(s);
16         System.out.println("多参构造器");
17     }
18 }

 

青春看起来如此完美, 没空闲去浪费时间。 <我们最后的话——刺猬>
原文地址:https://www.cnblogs.com/WangJing0506/p/8546219.html