类继承的关键字是extends ,继承顾名思义是继承上一个类的属性和方法,子类是可以在父类的基础上新增定义属性的,但是继承后在方法的使用和方法定义上有所区别,所以就引申出了Override(重写)和Overload(重载)的概念。
1.首先我们要搞一个经典的父类Animal:
public class Animal {
public String name;
public int age;
public void move(){
System.out.println("动物可以移动");
}
}
2. 动物下又区分了不同种类的动物,比如猪猪狗狗猫猫牛牛羊羊人,然后他们都有名称和年龄这些共用的属性,然后能够进行移动这个动作。
所以我们接下来定义一只狗狗,继承自Animal,狗狗会移动,具体的移动是会跑会走,所以我们重写move这个方法,让其适配具体特征。 不改变方法定义只在继承后改变父类方法内容的就是Override
public class Dog extends Animal{
public int weight;
/*
* 不改变方法定义只改变父类方法内容的即为重写
* */
@Override
public void move() {
System.out.println("狗可以跑和走");
}
}
3. 然后就到了重载了,所谓重载(overloading) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。
如果狗狗在开心的时候会跑,不开心的时候只会走
public class Dog extends Animal{
public int weight;
/*
* 不改变从父类继承过来的方法的名称,但是参数很返回值已经函数内容都会根据需求进行更改,这就是重载Overload
*
* */
public void move(String mood) {
if(mood.equals("开心")){
System.out.println("狗狗在开心的时候会跑");
}else{
System.out.println("狗狗在不开心的时候只会走");
}
}
}
如果你看不懂我写的那就参考下面的blog吧,照着代码一敲你就知道这两者的区别了
参考blog: https://www.runoob.com/java/java-override-overload.html