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

  • 相关阅读:
    Vue--vue-Router
    Vue--vue中的组件、组件绑定事件和数据、私有组件、子组件,父子组件参数互传
    CF 631C report
    生日Party 玄学多维DP
    HDU-6376 度度熊剪纸条
    CF 1012C Dp
    CF 997A
    HDU-1051 一个DP问题
    偶尔间看到,来开心一下
    合并石子
  • 原文地址:https://www.cnblogs.com/xiaojihua20/p/4127926.html
Copyright © 2011-2022 走看看