Java中方法的重写和重载

Java中方法的重写和重载

一、知识扩充

1.访问权限控制符:public>protected>default>private

2.函数的调用

(1)直接输入方法名来调用函数,如果Hello方法是静态的,那么main() 方法也必需是静态的

 public static void main(String[] args) {
        Hello();
    }

 public static void Hello() {
        System.out.println("Hello");
    }

(2)直接输入方法名来调用函数,如果Hello方法是非静态的,那么main() 方法也必需是非静态的

 public void main(String[] args) {
        Hello();
    }

  public void Hello() {
        System.out.println("Hello");

    }

(3)如果Hello方法是非静态的,main() 方法是静态的,则需要在main() 方法里面先创建一个关于这个类的对象,才可以调用非静态方法

 public class Override {
    public static void main(String[] args) {
        Override override = new Override();
        override.Hello();
        
    }

 public void Hello(){
      System.out.println("Hello world");

  }

二、方法重写

1.重写发生在父类与子类之间,子类继承了父类原有方法
2.在方法名,参数列表,返回值类型都相同的情况下,子类对父类的方法进行重写(关键:子类函数的访问权限大于父类的权限)

  public class Override {
  public static void main(String[] args) {
        Hello();
        Overrideson overrideson = new Overrideson();
        overrideson.Hello();
    }

  public static void Hello() {
        System.out.println("Hello");
    }
    
  static class Overrideson extends Override {
        public static void Hello() {
            // TODO Auto-generated method stub
            System.out.println("hello world ");
        }

    }
}

输出结果为:

Hello
hello world 

三、方法重载

1.定义:在同一个类中,同名的方法具有不同的参数列表
2.不同的参数列表:参数个数,参数类型,参数的顺序

public class Override {
    /*方法的重载*/
    public static void main(String[] args) {
        Override s = new Override();
        s.sayHello();
        s.sayHello1("小明");

    }
    public  void sayHello() {
        System.out.println("hello world");
    }
    public void sayHello1(String name) {
        System.out.println("hello"+" " + name);
    }

输出结果为:

hello world
hello 小明

版权声明:本文为qq_47319758原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。