java之重载与重写

一:overload(重载,过载)

  • 在一个类里面,方法名字必须相同,而参数不同,和返回类型无关
  • 参数列表必须不同(参数类型、参数个数、参数顺序)。
  • 方法的返回类型可以相同也可以不同。
  • 重载与方法的访问修饰符和是否为static无关。
    代码示例:
    在chapter6包下,创建Dog.java文件,在Dog类下,创建display方法,方法名相同,但参数不同
package chapter6;

public class Dog {
    // 无参数方法
    public void display() {
        System.out.println("Display method with no parameters.");
    }

    // 一个整型参数的方法
    public void display(int num) {
        System.out.println("Display method with int parameter: " + num);
    }

    // 一个字符串参数的方法
    public void display(String str) {
        System.out.println("Display method with String parameter: " + str);
    }
}

在在chapter6包下,创建TestMain.java运行文件,查看运行结果

package chapter6;

public class TestMain {

    public static void main(String[] args) {
        Dog dog = new Dog();

        dog.display();
        dog.display(1);
        dog.display("阿黄");
    }
}

//运行结果:
//Display method with no parameters.
//Display method with int parameter: 1
//Display method with String parameter: 阿黄

二:override(重写,覆盖)

  • 子类对父类的允许访问的方法的实现过程进行重新编写, 返回值形参不能改变
  • 包括:返回值类型,方法名,参数类型以及个数
  • 子类能够根据需要实现父类的方法
    代码示例:
    在chapter6包下,创建父类Animal.java
package chapter6;

public class Animal {

    public void makeSound(){
        System.out.println("动物叫声");
    }
}

在chapter6包下,创建Duck.java文件,通过关键字extends关键字,继承Animal下的makeSound方法

package chapter6;

public class Duck  extends Animal {

}

在chapter6包下,创建Bird.java文件,通过关键字extends关键字,继承Animal下的makeSound方法,并且重写makeSound方法

package chapter6;

public class Bird extends Animal{

    @Override
    public void makeSound() {
        System.out.println("鸟叫");
    }
}

在chapter6下的运行类TestMain.java中,查看继承和重写的运行结果

package chapter6;

public class TestMain {

    public static void main(String[] args) {
        Duck duck = new Duck();
        duck.makeSound();

        Bird bird = new Bird();
        bird.makeSound();
    }
}
//运行结果
//动物叫声
//鸟叫
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值