• 在java中this和super的使用


    在java中this和super的使用

    this的使用

    1.this使用在本身的调用类中,可以调用本类的构造方法、方法和属性。
    2. 当使用this来调用本类的构造方法时,this只能放在构造方法的第一句。
    

    super的使用

    1.super调用的是父类的构造方法,必须在子类构造方法的第一行,如果子类没写,默认调用父类无参构造,即第一行:super();
    2.super只能用在子类的方法或者构造方法中。
    3.当super和this调用构造方法时都需要放在构造方法的第一行,所以不能同时使用。
    

    this和super的区别

    1.this代表本身调用者对象,super代表本身调用者的父类对象
    2.this可以直接在本身对象中使用,super只能在发生调用时在本身对象即子类对象中使用。
    3.this()代表的本类无参构造,super()代表的是父类无参构造。
    

    如:

    public class Person {//父类
        String name = "yyq";//属性
    
        public Person() {//无参构造
            System.out.println("调用Person的无参构造器");
        }
    
        public void print(){//普通方法
           System.out.println("Person");
       }
    }
    
    public class Student extends Person {//子类继承上面的父类
         String name = "fool";//属性
        public Student() {//无参构造 这里虽然没写super()但是相当于在第一行写了super()
            //super();
            System.out.println("调用Student的无参构造器");
        }
        public void print(){
            System.out.println("Student");
        }
        public void test2(){//测试普通方法的方法
            print();
            this.print();	//调用本类的print()
            super.print();	//调用父类的print()
        }
        public void test(String name){//测试参数
            System.out.println(name); //调用形参
            System.out.println(this.name);//调用本类name
            System.out.println(super.name);//调用父类name
        }
    

    运行结果

    IDEA快捷键积累:ctrl + h 树形的展示当前类的子父类

    刚刚参加工作,很有很多不懂不会的,发现错误,欢迎指正,谢谢!
  • 相关阅读:
    POJ 1611 The Suspects
    POJ 2001 Shortest Prefixes(字典树)
    HDU 1251 统计难题(字典树 裸题 链表做法)
    G++ C++之区别
    PAT 乙级 1013. 数素数 (20)
    PAT 乙级 1012. 数字分类 (20)
    PAT 乙级 1009. 说反话 (20)
    PAT 乙级 1008. 数组元素循环右移问题 (20)
    HDU 6063 17多校3 RXD and math(暴力打表题)
    HDU 6066 17多校3 RXD's date(超水题)
  • 原文地址:https://www.cnblogs.com/xd-study/p/12915309.html
Copyright © 2020-2023  润新知