1、重载
重载:在同一个类中编写多个某一个方法。
(同类同名不同参)
public void sum(int a,int b) {
System.out.println("两个数据的和为:"+(a+b));
}
public void sum(int a,int b,String str) {
System.out.println("和:"+(a+b+str));
}
public static void main(String[] args) {
重载 c=new 重载();
c.sum(1, 2);
c.sum(1, 2, "3");
}
2、重写
编写子类的属性,如果子类属性和继承自父类的属性冲突,子类属性覆盖继承的该属性
编写子类的方法,如果子类方法和继承自父类的方法冲突,子类方法覆盖继承的该方法
重写/覆盖: 子类继承父类,并在子类中重新编写继承父类的某个方法.
格式: 重写后的方法的声明必须和原方法相同.
特点:
1.重写后的方法在子类的类体中.
2.子类对象调用被重写的方法时,实际调用的是重写之后的方法.
重写/覆盖:子类继承父类,并重新编写继承自父类的某个方法.
- 重写标志:子类重写的方法前有绿色小三角符号
- 格式:方法的声明必须与原方法相同
要求:
1.重写的方法必须放在子类类体中.
2.当使用子类对象调用被重写的方法时,实质调用的是被重写之后的方法.
在java程序中没有计划生育!
java程序只支持单继承[一个子类只能含有一个父类],允许多层继承…
public class 大白兔 {
public String color="白色的";
public void eat() {
System.out.println("能吃100根胡萝卜....");
}
public static void main(String[] args) {
大白兔 d=new 大白兔();
System.out.println("毛色:"+d.color);
d.eat();
}
}
public class 小黑兔 extends 大白兔 {
//当子类重新编写了和父类相同的属性时,子类属性将 覆盖 继承自父类的该属性
public String color="黑色的";
//当子类重新编写了和父类相同的方法时,子类方法将 覆盖 继承自父类的该方法
@Override
public void eat() {
System.out.println("能吃50根胡萝卜.....");
}
/**
* 重写/覆盖:子类继承父类,并重新编写继承自父类的某个方法.
* 重写标志:子类重写的方法前有绿色小三角符号
* 格式:方法的声明必须与原方法相同
* 要求:
* 1.重写的方法必须放在子类类体中.
* 2.当使用子类对象调用被重写的方法时,实质调用的是被重写之后的方法.
* 在java程序中没有计划生育!
* java程序只支持单继承[一个子类只能含有一个父类],允许多层继承....
* */
public static void main(String[] args) {
小黑兔 x=new 小黑兔();
System.out.println("毛色:"+x.color);
x.eat();//调用的是被重写之后的
}
}