zoukankan      html  css  js  c++  java
  • 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“多态”的技术之一,所谓“重载”,即是方法名称相同(参数不同),但却可在不同的场合做不同的事。当一个子类继承一父类,而子类中的方法与父类中的方法的名称,参数个数、类型都完全一致时,就称子类中的这个方法复写了父类中的方法。同理,如果子类中重复定义了父类中已有的属性,则称此子类中的属性复写了父类中的属性。注意:子类复写父类中的方法时,子类复写的方法不能拥有比父类中此方法更严格的访问权限(子类复写父类中的属性时无此限制)。

  • 相关阅读:
    [TJOI2018]教科书般的亵渎
    luogu P4781 【模板】拉格朗日插值
    [SDOI2010]捉迷藏
    [CQOI2016]K远点对
    BZOJ4066 简单题
    [国家集训队]JZPFAR
    Understanding User and Kernel Mode
    Linux下如何查看系统启动时间和运行时间以及安装时间
    CentOS Linux搭建独立SVN Server全套流程(修改svn仓库地址、服务启动等)
    linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合:
  • 原文地址:https://www.cnblogs.com/xiaojihua20/p/4127926.html
Copyright © 2011-2022 走看看