• Java类的继承、super关键字、复写


    Java中继承使用extends关键字,如:“class Student extends Person”。在Java中只允许单继承,不允许多重继承,也就是说一个子类只能有一个父类。但Java中允许多层继承。如果在子类中要使用父类中的内容,如调用父类的构造函数、属性或方法,那么需要使用super关键字。下面给出一个类继承及使用的例子:

    class Person
    {
        String name;
        int age;
        
        public Person(String name, int age)
        {
            this.name = name;
            this.age = age;
        }
    }
    
    class Student extends Person
    {
        String school;
        
        public Student()
        {
            super("张三", 25);  //用super调用父类中的构造方法
        }
    }
    
    public class TestPersonStudentDemo4
    {
        public static void main(String args[])
        {
            Student s = new Student();
            s.school = "北京";
            System.out.println("姓名:"+s.name+",年龄:"+s.age+",学校:"+s.school);
        }
    }
    

    在上面的例子中,子类Student调用父类Person的构造函数,使用的就是super关键字。之外,上面的例子中还使用到了this关键字。这两个关键字的使用对比如下:

     Java中“复写”的概念与“重载”相似,它们均是Java“多态”的技术之一,所谓“重载”,即是方法名称相同(参数不同),但却可在不同的场合做不同的事。当一个子类继承一父类,而子类中的方法与父类中的方法的名称,参数个数、类型都完全一致时,就称子类中的这个方法复写了父类中的方法。同理,如果子类中重复定义了父类中已有的属性,则称此子类中的属性复写了父类中的属性。注意:子类复写父类中的方法时,子类复写的方法不能拥有比父类中此方法更严格的访问权限(子类复写父类中的属性时无此限制)。

  • 相关阅读:
    详解prototype、proto和constructor的关系
    BFC
    transition(动画属性)
    React组件生命周期
    正则限制input只能输入大于0的数字
    msbuild编译
    python 在头文件添加 #include "stdafx.h"
    2017年感想
    chVsprintf
    富文本测试
  • 原文地址:https://www.cnblogs.com/xiaojihua20/p/4127926.html
Copyright © 2020-2023  润新知