1 一个典型的例子搞懂传递的值有没有改变
输出:
0
0
1
2.方法重载(Overload)。表示两个或多个方法名字相同,但是方法参数不同,方法参数不同有两层含义:
a)参数个数不同
b)参数类型不同。注意:方法的返回值对重载没有任何影响
3.构造方法与类名字相同,构造方法重载:只需要看参数即可,如图:
4.如果想在一个构造方法中调用另外一个构造方法,那么可以使用this()的方式调用,this()口号中的参数表示目标构造方法的参数。对this的调用构造函数中的第一个语句。如图:
5.继承(Inheritence):Java是单继承的,意味着一个类只能从另外一个类继承(被继承的类叫做父类【基类,base class】,继承的类叫做子类),Java中的继承使用extends关键字。
当生成子类对象时,Java默认首先调用父类的不带参数的构造方法,然后执行该构造方法,生成父类对象。接下来,再去调用子类的构造方法,生成子类对象。(要想生成子类的对象,首先要生成父类的对象,没有父类就没有子类)。如图1
此外还可以用 super() 对父类带参数的构造方法调用,那么在执行的时候会寻找与super()所对应的构造方法而不会再去寻找父类不带参数的构造方法。与this一样,super也必须要作为构造方法的第一条执行语句,前面不能有其他可执行语句。如图2
继承特点(属性/数据):
1. 父类有的,子类可以继承; 2. 父类没有的,子类可以增加; 3. 父类有的,子类可以改变
注意事项:
a) 构造方法不能被继承(意思是子类隐式调用父类不带参数的构造方法,只能用super调用带参数的构造方法,不然会报错)
b) 方法和属性可以被继承
c) 子类的构造方法隐式地调用父类不带参数的构造方法
d) 可以用super显式地调用父类带参数的构造方法,super关键字必须是第一句