zoukankan      html  css  js  c++  java
  • super关键字和final关键字的用法

    一.super关键字的用法

    super关键字用于继承关系中,子类访问父类的成员变量、成员方法和构造方法

    1.1 使用super关键字调用父类的成员变量和成员方法

    dog类继承与Animal,在dog类中重写shout方法,通过super.shout()访问父类Animal类中的shout方法,通过super.name访问Animal类中的name属性

    package com.blog;
    
    //定义Animal类
    class Animal{
        String name = "动物";
        //定义动物叫的方法
        void shout(){
            System.out.println("动物发出叫声");
        }
    }
    
    //定义Dog类继承Animal类
    class Dog extends Animal{
        String name = "犬类";
        //重写父类的shout方法
        void shout(){
            super.shout();
        }
        //定义打印name的方法
        void printName(){
            System.out.println("name = " + super.name);
        }
    }
    
    public class SuperTest {
        public static void main(String[] args) {
            Dog dog = new Dog();
            dog.shout();
            dog.printName();
        }
    }
    

    output:

    1.2 使用super关键字调用父类的构造方法

    继承关系中,子类构造方法通过super(options:[参数1],[参数2])调用父类的构造方法

    //定义Animal类
    class Animal{
        //定义Animal的构造方法
        public Animal(String name){
            System.out.println("我是一只" + name);
        }
    }
    
    //定义Dog类继承Animal类
    class Dog extends Animal{
        public Dog(){
            super("沙皮狗");
        }
    }
    
    public class SuperStructMethod {
        public static void main(String[] args) {
            new Dog();
        }
    }
    

    Output:子类Dog构造方法中super("name")调用了父类的构造方法

    二.final关键字的用法

    ● final关键字修饰类,该类不能被继承。
    ● final关键字修饰方法,这个类的子类将不能重写该方法。
    ● final修饰变量,该变量一旦被赋值,其值不能被改变。

  • 相关阅读:
    11.11 ntsysv:管理开机服务
    11.13 ethtool:查询网卡参数
    11.14 mii-tool:管理网络接口的状态
    11.15 dmidecode:查询系统硬件信息
    11.16-18 lsci、ipcs、ipcrm:清除ipc相关信息
    Devops 导论
    * SPOJ PGCD Primes in GCD Table (需要自己推线性筛函数,好题)
    SPOJ
    HDU 1695 莫比乌斯反演
    HDU 1800 hash 找出现最多次数的字符串的次数
  • 原文地址:https://www.cnblogs.com/miaowulj/p/14495352.html
Copyright © 2011-2022 走看看