一、重写(super)
1.重写
重写是子类对父类的允许访问的方法的实现过程进行重新编写,返回值和形参都不能改变。即外壳不变,核心重写。
package com.etc.override.override;
public class Animal {
public void move(){
System.out.println("动物可以移动。");
}
}
class dog extends Animal{
public void move(){
System.out.println("狗可以跑。");
}
}
class Testdog{
public static void main(String args[]){
Animal A = new Animal();
Animal B = new dog();
A.move();
B.move();
}
}
动物可以移动。
狗可以跑。
2.super关键字的使用
当子类调用父类的被重写方法时,要使用super关键字
public class Animal {
public void move(){
System.out.println("动物可以移动。");
}
}
class dog extends Animal{
@Override
public void move() {
super.move();//应用Animal的move方法
System.out.println("狗可以跑");
}
}
class Testdog{
public static void main(String args[]){
Animal B = new dog();//dog的对象
B.move();//执行dog类的方法
}
二、重载
1.重载
从简单说,就是函数或者方法有相同的名称,但是参数列表不相同的情形,这样的同名不同参数的函数或者方法之间,互相称之为重载函数或者重载方法。在Java中同一个类中的2个或2个以上的方法可以有同一个名字,只要它们的参数声明不同即可:
public class Overload {
public int test(){
System.out.println("test1");
return 1;
}
public void test(int a){
System.out.println("test2");
}
public String test(int a,String b){
System.out.println("test3");
return "test3";
}
public static void main(String[] args){
Overload o = new Overload();
System.out.println(o.test());
o.test(1);
System.out.println(o.test(1,"1234"));
}
}
test1
1
test2
test3
test3