JAVA中This的本质

this关键字

image-20220210164223611


this的本质:就是系统自动生成的隐藏的参数用来存放当前对象的地址
在每一个普通方法中都存在隐式参数this

this的其他要点:

  • this()调用重载的构造方法,避免相同的初始化代码。但只能在构造方法中用,并且必须位于构造方法的第一句。
  • this不能用于static方法中。
  • this是作为普通方法的“隐式参数”,由系统传入到方法中。
this的用法:

普通方法中,this总是指向调用该方法的对象。

示例:
public class TestThis {
    int a,b,c;
    void a(){
        System.out.println("指向调用该方法的对象1"+this);
    }

    public TestThis() {
              可以在构造方法中用this调用本类中的普通方法,因为this中存放的是当前类的地址
              this.a();
    }

    public TestThis(int a) {
        this();    
               //this.a指向类中的成员变量a ,a指的是传入的形式参数a。
        this.a = a;
    }

    public TestThis(int a, int b) {
       this(a);
        this.b = b;
    }

    public TestThis(int a, int b, int c) {
        this(a,b);
        this.c = c;
        System.out.println(this);
    }

    public static void main(String[] args) {
        TestThis testThis = new TestThis();
        testThis.a();
        System.out.println("对象1"+testThis);

    }
}                
构造方法中,this总是指向正要初始化的对象。

    示例:
public class TestThis {
    int a;
    int b;
    int c;
    void a(){
        System.out.println("指向调用该方法的对象1"+this);
    }

    public TestThis() {
        this.a();
        System.out.println("正要初始化的对象"+this);
    }

    public TestThis(int a) {
        this();//调用无参构造器且必须位于第一行
        this.a = a;
    }

    public TestThis(int a, int b) {
       this(a); 调用有参构造器且必须位于第一行
       this.b = b;
    }

    public TestThis(int a, int b, int c) {
        this(a,b);
        this.c = c;
        System.out.println(this);
    }

    public static void main(String[] args) {
        TestThis testThis1 = new TestThis();
        System.out.println("正要初始化的对象"+testThis1);


    }
}


#java基础知识#
全部评论

相关推荐

不愿透露姓名的神秘牛友
06-19 14:46
和女友两个人马上毕业,现在我在鹅实习995,周六日偶尔也去北京;她在北京金融007,经常忙到后半夜,周末也没啥休息机会两个人现在都不咋聊天了,一句话隔半小时甚至半天才回。 她是个很优秀的妹子,工作也很努力,是值得学习一辈子的人。我在努力工作求转正,即便不行至少赚到了一段不错的实习经历。已经异地了半年,接下来可能还会持续是这个状态。我们都算是对方重要的人,只是感觉看上去不是很有未来的样子。希望牛友们给点的鼓励
梦旅奇缘:很难。异地首先就已经很难了,加上妹子是金融行业,忙碌高压,对情感需求很高,而且见惯纸醉金迷,你的很多优势在她那里可能就不算什么了。这种情况下,在她们那里遇到一个能及时照顾她的人,即使那人可能很多条件不如你,你也有可能被分手。 说白了,两个卷王就不太适合在一起。因为卷王最大的优势,在另一个卷王那里就不算优势了。
点赞 评论 收藏
分享
05-20 13:59
门头沟学院 Java
米黑子米黑子:你这个成绩不争取下保研?
点赞 评论 收藏
分享
强大的马里奥:不太可能,我校计算机硕士就业率99%
点赞 评论 收藏
分享
今天 18:30
门头沟学院 Java
点赞 评论 收藏
分享
评论
3
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务