美文网首页
多态(重载和覆盖) 继承

多态(重载和覆盖) 继承

作者: B萌面超人 | 来源:发表于2017-09-02 10:29 被阅读0次

    重载:

    同一个类中的许多方法可以拥有同一个名字,只要他们的参数声明不同即可

    覆盖:

    子类重新实现了父类中的方法(继承)

    多态规则:

    1.方法名一定要一样

    2.传入的参数一定要不一样

    3.当父类的引用指向子类的对象时,调用一个方法 而这个方法 恰好又被子类所重写,此时调用的方法是子类的方法。

       父类的引用调用属性时,调用自己的属性。

    4.如果引用前加上final修饰符,但这个引用一旦指向了某个对象,指向不能改变,

    代码:

    //多态

    public class student {

    //父类中的方法

    void print(){

    System.out.println("这是小明同学");

    }

    void print(String name){

    System.out.println(name + "是小明的同学");

    }

    void print1(){

    System.out.println("这是父类中的一个函数");

    }

    public static void main(String[] args) {

    student stu = new student();

    student1 stu1 = new student1();

    stu.print();

    stu.print("tom");

    System.out.println("-----------");

    stu1.print();

    //----------------------------

    student stu2 = new student2();

    stu2.print1();

    }

    }

    //继承student

    class student1 extends student{

    //覆盖父类的print方法

    void print(){

    System.out.println("这是小明的同学");

    System.out.println("他很优秀");

    }

    }

    class student2 extends student{

    void print(){

    System.out.println("这是学生的一个函数");

    }

    void print1(){

    System.out.println("这是学生的另一个函数");

    }

    }

    注意:studentClass(父类) studentMen(子类) 

    如果父类中没有这个方法 而在子类中出现这个方法

    studentClass stu = new stuClassMen();指向子类 只能操作子类中的方法 stu是父类的数据类型。
    那么stu不可以调用这个方法 ,
    只能调用父类中有而被子类覆盖的方法。

    相关文章

      网友评论

          本文标题:多态(重载和覆盖) 继承

          本文链接:https://www.haomeiwen.com/subject/gwiljxtx.html