zoukankan      html  css  js  c++  java
  • JAVA基础(十六)Super关键字

    Super关键字:

    Super关键字的特点:

          This  与super 不能同时存在第一行;

            构造方法第一行都有一个默认语句 super()无参构造;

            私有化后显示定义无法在用默认,

             空参时先调父类构造在子类构造,因为默认语句 super()

             第一行只要this在就没有super.

    super的调用:

             super:代表当前对象父类的引用

             super.成员变量 调用父类的成员变量

             super(…) 调用父类的构造方法

            super.成员方法 调用父类的成员方法

    //定义Person类,将Student和Worker共性抽取出来
    class Person {
        private String name;
        private int age;
        public Person(String name, int age) {
            // super();
            this.name = name;
            this.age = age;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
    }
    //Student extends Person
    class Student extends Person { // Student类的构造方法 Student(String name, int age) { // 使用super关键字调用父类构造方法,进行相应的初始化动作 super(name, age); } public void study() {// Studnet中特有的方法 System.out.println(this.getName() + "同学在学习"); } }
    //Worker extends Person
    class Worker extends Person { Worker(String name, int age) { // 使用super关键字调用父类构造方法,进行相应的初始化动作 super(name, age); } public void work() {// Worker 中特有的方法 System.out.println(this.getName() + "工人在工作"); } }
    //测试
    public class Test { public static void main(String[] args) { Student stu = new Student("小明",23); stu.study(); Worker w = new Worker("小李",45); w.work(); }

    This()是调用自己其他的构造函数,Super()是调用自己继承的父类的构造函数“,

    如果只想调用默认无参数的父类构造函数,不用在子类的构造函数当中写出来,但是实际编程的时候,总是会忽略这一点。

       那门这两个关键字能不能同时出现在子类的一个构造函数当中吗?答案肯定是不能

      原因:This  与super 不能同时存在第一行;JAVA 中规定使用 this 和 super 时必须放在构造函数第一行

     

  • 相关阅读:
    XML和JSON优缺点
    JSON与XML优缺点对比分析
    json数据格式
    ajax 请求二进制流 图片
    常用网站
    Js setTimeout 用法
    js Indexof的用法
    02_虚拟机的安装和SecureCRT、FileZilla、Xmanage、UltraEdit工具的介绍
    01_Hadoop学习笔记内容说明
    sudoers文件设置sudo命令无密码(root密码)登录
  • 原文地址:https://www.cnblogs.com/layuechuquwan/p/11302229.html
Copyright © 2011-2022 走看看