this含义是什么?

来源:9-9 Java 中的 Object 类 Ⅱ

qq_TheFirebird_03629981

2016-08-15 18:14

谁能详细解释下this的意思

写回答 关注

5回答

  • 我说红豆你说哟
    2016-08-25 12:11:20

    this一般是两种用法

    public class Student{

        //学生姓名私有化

        private String name; 

        //实现name属性的getter&setter方法

        public String getName() {

            return name;

        }

        public void setName(String name) {

            //这里的this.name表示我这个类中的name属性,也就是上面那个学生姓名私有化

            this.name = name;

        }

        //有参的构造方法

        public Student(String name){

            this.name = name;

        }

        //无参的构造方法

        public Student(){

            //这里的this(name)表示调用上面的那个有参的构造方法,给他传入一个name

            this(name);

        }

    }

    //算是调用本类中的属性或者方法

  • ToBeBrilliant
    2016-08-16 08:48:40

    举个例子:Student stu = new Student( ) ;首先你要明白,Student是一个类,可以创建很多对象。stu并不是对象,stu只是一个引用,指向Student类创建的一个对象,就好比一根绳子拴着一个气球一样,绳子是引用,气球是对象。明白这个就好理解了:this代表的就是当前对象的引用,以tStudent类为例,this的作用就和stu是一样的了,就可以去调用Student类的属性和方法了

  • 慕粉void
    2016-08-15 22:31:24

    this表示当前对象。

    public class HelloWorld {
        int num = 3;
    	public void show() {
    		System.out.println(this.num);
    	}
        public static void main(String[] args) {
            HelloWorld test = new HelloWorld();
            System.out.println(test.num);
    		test.show();
        }
    }

    this.num和test.num两个输出结果相同,本例中的this相当于类HelloWorld的对象test。

  • qq_知难而蜕_03688043
    2016-08-15 18:32:34

    public class Test6 {
            int age=2;
                void Aa(){
                int age=1;
                System.out.println(age);//内部方法的age
                System.out.println(this.age);//类中的age
            }
              public static void main(String[] args) {
                Test6 t=new Test6();
                t.Aa();
            }  
    }

  • 慕妹4570734
    2016-08-15 18:29:07

    Java中的this关键字

    1.this关键字代表当前对象

      this.属性 操作当前对象的属性

      this.方法 调用当前对象的方法

    2.封装对象的属性的时候,经常会使用this关键字

    this的通俗含义:不论生成哪个对象调用了这个方法,都会生成一个指向这个对象的指针

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530560 学习 · 6091 问题

查看课程

相似问题