继承:
关键字为:extends
格式为:public class 类名b extends 类名a{}
//b将a的非私有变量及方法继承
//私有变量为前面加private的变量
例子:
父类为servent,子类为saber类;
写为:public class Saber extends Servent{
}
package fgo;
public class Servent {
int i,j;
public Servent() {
// System.out.println("无参构造函数");
}
public Servent(int i,int j) {
this.i=i;
this.j=j;
// System.out.println("有参构造函数");
}
public void hit() {
System.out.println("i+j等于"+(i+j));
}
}
package fgo;
public class Saber extends Servent {
public Saber() {
// System.out.println("无参构造");
}
public Saber(int i,int j) {
super(i,j);
this.i=i;
this.j=j;
// System.out.println("有参构造");
}
@Override
public void hit() {
System.out.println("i+j="+(i+j));
}
public void hit(int i,int j) {
System.out.println("i+j="+(i+j));
}
}
重载(Overload) :
范围:重载要求除于一个类中;
要求:方法名一样,参数列表不同,返回值类型不做要求;
例:
对hit方法的重载
public void hit() {
System.out.println("i+j="+(i+j));
}
public void hit(int i,int j) {
System.out.println("i+j="+(i+j));
}
重写 :(Override)
范围:继承中;
要求:和父类方法名一致,参数列表一致,返回类型一致;不能比父类的访问权限更高;
ps:在前面加上@Override这个伪代码可以让系统帮忙检查是否合规;不些也可以。
例子:
父类中:
package fgo;
public class Servent {
int i,j;
public Servent() {
// System.out.println("无参构造函数");
}
public Servent(int i,int j) {
this.i=i;
this.j=j;
// System.out.println("有参构造函数");
}
public void hit() {
System.out.println("i+j等于"+(i+j));
}
}
子类中:
@Override
public void hit() {
System.out.println("i+j="+(i+j));
}