程序员必会之java关键字中super、super()用法

createh56个月前 (12-29)技术教程98

上篇文章说过this用法,需要了解的可以去看看。 this用法文章链接

super只能在类中的非静态中使用,即有static出现的地方都不能出现。

super

指代父类的对象。

  • 引用父类的成员属性或者方法。(非private修饰的)。
/**
 * 动物类
 */
public class Animal {
    private String action;
    String name;
    protected int age;
    public String adress;
    private void test1() {}
    void test2() {}
    protected void test3() {}
    public void test4() {}
}

/**
 * 猫类
 */
public class Cat extends Animal {
    public void test () {
        System.out.println(super.name);
        super.test2();
    }
}
  • 当子类的成员变量或者方法与父类名称相同时,用super区分是父类的。
/**
 * 动物类
 */
public class Animal {
    public String name = "动物类";
    public void test() {
        System.out.println("父类方法test()");
    }
}

/**
 * 猫类
 */
public class Cat extends Animal {
    private String name = "猫类";
    @Override
    public void test() {
        System.out.println(this.name);
        System.out.println(super.name);
        super.test();
        System.out.println("子类方法test()");
    }
    public static void main(String[] args) {
        new Cat().test();
        // 猫类
        // 动物类
        // 父类方法test()
        // 子类方法test()
    }
}

super()

指代父类的构造函数。

  • super()必须放在构造函数里,且与this()不能同时存在
  • super()在构造函数里必须放在第一行,且只能存在一个。

感谢求关注[送心]

相关文章

三十四、Java中的final关键字 java中final关键字的用途

Java中的final关键字是一种修饰符,它有着多种用途,主要应用在变量、方法和类上,以指示不可变性或不可覆盖性。final 关键字修饰不同元素的作用Java元素作用变量当final修饰基本类型变量时...

Java 详细剖析关键字 static,深入全面了解

1. 概述static 是一种修饰符static 是Java中表静态的关键字它可以修饰成员变量、成员方法、代码块被static修饰的成员变量或成员方法,将不再依赖于对象的创建而去使用,而是依赖类的存在...

关键字static详解 关键字static的用法

关于static关键字的使用,它可以用来修饰的成员变量和成员方法,被修饰的成员是属于类的,而不是单单是属于某个对象的。也就是说,既然属于类,就可以不靠创建对象来调用了。定义当static修饰成员变量时...

小伙子,你真的搞懂 transient 关键字了吗?

先解释下什么是序列化我们的对象并不只是存在内存中,还需要传输网络,或者保存起来下次再加载出来用,所以需要Java序列化技术。Java序列化技术正是将对象转变成一串由二进制字节组成的数组,可以通过将二进...

Java的native关键字,你可能需要了解一下

Java 中的 native 关键字是用来声明一个方法是由本地代码(Native Code)实现的。也就是说,这个方法的实现并不是通过 Java 语言来实现的,而是通过其他语言(如 C/C++)实现的...