方法重写概述及其应用 学习笔记

class Demo7_Phone {
    public static void main(String[] args) {
        Ios8 i = new Ios8();
        i.siri();
        i.call();
    }
}

/*
B:方法重写的应用:
    * 当子类需要父类的功能,而功能主体子类有自己特有内容时,可以重写父类中的方法。这样,即沿袭了父类的功能,又定义了子类特有的内容。
    ios7系统 siri speak English
    ios8系统 siri 说中文
*/

class Ios7 {
    public void call() {
        System.out.println("打电话");
    }

    public void siri() {
        System.out.println("speak English");
    }
}

class Ios8 extends Ios7 {
    public void siri() {

        System.out.println("说中文");
        super.siri();
    }
}

主方法

class Demo8_继承 {
    public static void main(String[] args) {
        DayOne d = new DayOne();
        d.泡妞();
        d.print();
    }
}
/*
    * a:父类中私有方法不能被重写
        * 因为父类私有方法子类根本就无法继承
    * b:子类重写父类方法时,访问权限不能更低
        * 最好就一致
    * c:父类静态方法,子类也必须通过静态方法进行重写
        * 其实这个算不上方法重写,但是现象确实如此,至于为什么算不上方法重写,多态中我会讲解(静态只能覆盖静态)

    * 子类重写父类方法的时候,最好声明一模一样。
*/
class 继承 {
    public void sing() {
        System.out.println("唱红歌");
    }

    public void 学习() {
        System.out.println("学习");
    }

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

class DayOne extends 继承 {
    public void 学习() {
        System.out.println("学习继承");
    }

    public static void print() {                //静态只能覆盖静态,其实不算重写,多态时候详细讲解
        System.out.println("Zi print");
    }
}

猜你喜欢

转载自blog.51cto.com/357712148/2131493