-
Java中的两种多态:重载、重写
-
方法重载的意思是:在一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同。两个方法的参数不同是指满足下列条件之一:
- 参数的个数不同。
- 参数的个数相同,但参数列表中对应的某个参数的类型不同。
-
方法的返回类型和参数的名字不参与比较,也就是说,如果两个方法的名字相同,即使返回类型不同,也必须保证参数不同。
-
构造方法也可以重载,但构造方法不参与和非构造方法之间的重载比较。
-
重载方法之间必须保证相互的参数不同,需要小心的是,重载方法在被调用时可能出现歧义 调用。例如,下列People类中的cry()方法就是容易引发歧义的重载方法
class People{
static void cry(double m,int n){
System.out.println("cry");
}
static void cry(int m,double n){
System.out.println("cry!");
}
}
-
this是Java中的一个关键字,表示某个对象。
-
this可以出现在实例方法和构造方法中,但不可以出现在类方法中。这是因为类方法可以通过类名直接调用,这时可能还没有任何对象产生。
-
当this关键字出现在类的构造方法中时,代表使用该构造方法所创建的对象。
-
实例方法只能通过对象来调用,不能用类名来调用。当this关键字出现在实例方法中时,this就代表正在调用该方法的当前对象。
-
实例方法可以操作类的成员变量,当实例成员变量在实例方法中出现时,默认的格式是:this.成员变量; 当static成员变量在实例方法中出现时,默认的格式是:类名.成员变量.
-
在通常情况下可以省略实例成员变量名字前面的“this.”以及static变 量前面的“类名.”。
-
当实例或static成员变量的名字和局部变量的名字相同时,成员变量前面的“this.” 或“类名.”不可以省略。
-
类的实例方法可以调用类的其他方法,对于实例方法,调用的默认格式是: this.方法
-
对于类方法,调用的默认格式是: 类名.方法
-
当一个实例方法调用另一个方法时可以省略方法名字前面的“this.”或“类名.”。