【java开发】方法重写和方法重载概述

时间:2024-01-07 22:30:26
类的继承   父类-子类
关键字 extends
新建一个父类
public class Person
{
    private String name;
    private int age;
public void run()
    {
        System.out.println("Person  run");
    }
}
public class Student extends Person
{
    public void run()
    {
        System.out.println("Student  run");
    }
}
main函数中
public class Test1
{
    public static void main(String[] args)
    {
        Student s=new Student();
        Person s1=new Student();//2
        s.run();
        s1.run();
    }
}
子类继承父类时候,子类可以继承父类所有的属性和方法
子类不写的情况下,
方法重写(override)
定义:在子类中可以根据需要对父类父方法进行改造,叫:方法重写。
要点:被重写的方法要有相同的方法名,参数列表相同,返回值相同
注意点:重写方法时候,修饰符权限不能比父类小,且不能比父类方法抛出更多异常。
针对上述例子:
在子类没有进行方法重写时候,子类首先调用父类的run方法,如果子类对父类方法进行重写,则直接调用子类方法。
方法重载(overload)
定义:Java允许一个类中有多个 方法名相同 参数列表不同的方法;重载指 在一个类中  方法名相同,参数列不同
public class Person
{
    private String name;
    private int age;
    public void run()
    {
        System.out.println("Person  run");
    }
    public void run(int i)
    {
        System.out.println("Person  run");
    }
    public void run(String i)
    {
        System.out.println("Person  run");
    }
 }
final static
final 修饰属性变量将变为常量,不能再次进行赋值
static 修饰的属性名,可以用类名直接调用,方法亦同。
3.4个访问修饰符
本类同包子类其他
privateYNNN
defaultYYNN
protectedYYYN
publicYYYY