欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

super()和this()

程序员文章站 2022-04-18 15:54:17
...

Super()和this()的作用

super的作用:

super的作用是在子类函数中引用父类中的方法;

static class father{
        String name = " i am father";
        father(){
            System.out.println("how are you");
        }
        father(String name){
            System.out.println(name);
        }
        public void getName() {
            System.out.println("who are you");
        }
    }
    static class son extends father{
        son(){
            super();
            super.getName();
        }
        son(String name){
            super(name);
        }
    }

    public static void main(String[] args) {
        son s = new son();
        s = new son("i am zhangsan");
    }

结果:how are you /who are you/i am zhangsan

从结果可以看出,super作用于子类函数中,来调用父类函数的方法;当无参时即super()时,调用父类无参构造函数即father();有参时super(str)调用有相同参数个数的父类函数father(str);调用具体方法即super.method();

this()的作用:

this的作用是在函数中调用本类中其他的函数或参数;

public class This {
    String name = "zhangsan";
    String passwd = "123456";
    This(String name,String passwd){
        this.name = name;
        this.passwd = passwd;
        System.out.println(this.name+"   "+this.passwd);
    }
    This(){
        this.prt();
    }
    public void prt(){

        System.out.println("我是被调用的函数");
        System.out.println(this.name+"    "+this.passwd);

    }


    public static void main(String[] args) {
        This t = new This("lisi","987654");
        This t1 = new This();
    }
}
结果:
lisi   987654
我是被调用的函数
zhangsan    123456

从结果可以看出:this可以调用本类中的参数和函数;

相关标签: java