//父类

class OverridSuperClass

{

    //父类无参数方法

    public void Show()

    {

        System.out.println("this is OverridSuperClass");

    }

    //父类有参数方法

    public void show(String str)

    {

        System.out.println("this is OverridSuperClass and "+str);

    }

   

}

// 子类

public class OverridSubClass extends OverridSuperClass

{

    //子类重写父类无参数方法

    public void show()

    {

        System.out.println("this is OverridSubClass");

    }

    //子类重写父类有参数方法

    public void show(String str)

    {

        System.out.println("this is OverridSubClass "+str);

    }

   

    public static void main(String[] args)

    {

        OverridSubClass osc = new OverridSubClass();

        osc.show(); //调用子类的方法

        osc.show("Hello World"); //调用子类的方法

    }

}

//方法重写:

//       在子类中可以根据需要对父类中继承来的方法进行重新的定义,此方法重写(Override)或覆盖

//方法重写的规则:

//        1.重写的方法必须和被重写方法具有相同的的方法名称,参数列表和返回值类型;

//        2.重写方法不能使用比被重写方法更严格的访问权限;

//        3.重写方法不允许声明抛出比被重写方法范围更大的异常类型.