方法的重载
●方法的签名包含如下两个方面:方法名和参数列表
●一个类中,不可以有两个方法的签名完全相同,即一个类中不可以有两个方法的方法名和参数列表都完全一样。
●如果一个类的两个方法只是方法名相同而参数列表不同,是可以的。编译错误public class Cashier {
public boolean pay(double money) { … }public boolean pay(double money) { …}}编译正确public class Cashier {
public boolean pay(double money) { …}public boolean pay(String cardId,
String cardPwd) {…} }
this
关键字
用在方法体中,用于指向调用该方法的当前对象;简
单的说:哪个对象调用方法, this指的就是哪个对象。严格来讲在方法中需要通过this关键字指明当前对象。例如:
public void drop (){ this什么时候使用了? ?
this.row + +;}●为了方便起见,在没有歧义的情况下可以省略this :
public void drop () {
row ++;}
extends关键字
●通过extends关键字可以实现类的继承;
●子类(Sub class )可以继承父类( Super class )的成员变量及
成员方法,同时也可以定义自己的成员变星和成员方法;
●Java语言不支持多重继承,一个类只能继承一一个父类,但-一个父类可以有多个子类。重写和重载
●重载与重写是完全不同的语法现象,区别如下:
——重载是指在一个类中定义多个方法名相同但参数列表不同的方法,在编
译时,根据参数的个数和类型来决定绑定哪个方法。
——重写是指在子类中定义和父类完全相同的方法,在程序运行时,根据对象的类型不同(而不是引|用类型)而调用不同的版本。
**成员变量和局部变量的区别
**
(1)在类中的位置不同
成员变量:类中方法外
局部变量:方法定义中或者方法声明上
(2)在内存中的位置不同
成员变量:在堆中
局部变量:在栈中
(3)生命周期不同
成员变量:随着对象的创建而存在,随着对象的消失而消失
局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
(4)初始化值不同
成员变量:有默认值
局部变量:没有默认值,必须定义,赋值,然后才能使用