还是不明白new一个类出来的时候为什么要加上this,必须的加上吗?加上别的参数不可以吗?向大家求教:……TextView tv = new TextView(this)……Androidthisnew

解决方案 »

  1.   

    this代表当前对象,要看你的TextView(?)构造方法里面的类型,比如说TextView(Panel p)这个构造方法,this就代表Panel或其子类的类型参数
      

  2.   

    构建TextView类时需要一个当前类对象呗!
    无非是一个构造函数嘛!
      

  3.   

    TextView tv = new TextView(this)
    这段代码在哪个类中,this就指向哪个对象,把这个对象传给TextView构造函数,作为构造函数的参数
      

  4.   

    new 的时候关键看构造方法的参数
      

  5.   

    this代表的是当前对象,换成具体的对象就可以了
      

  6.   

    new TextView(this)中的this是指TextView构造器需要接受一个参数,而当前对象正好和这个参数类型一样,所以就可以把当前对象传进去,这个和new TextView("param")是一样的.
      

  7.   

    TextView类正好有一个构造方法,该方法有一个参数,该参数的类型与你当前这个this的类型相同。
      

  8.   

    this对象,并不一定就是当前的对象 .
    this要看你是用在什么的环境中,也就是上下文中.
    通常this指代的是调用它的对象.
      

  9.   

    this指的是你当前对象,其中这个对象是就近原则,谁离他最近就是指的那个对象,如果你不想用这个this你可以将你要传的对象放进去
      

  10.   

    好好看书,好好读代码。this我刚开始学的时候也是不太明白。
      

  11.   

    TextView类正好有一个构造方法,该方法有一个参数,该参数的类型与你当前这个this的类型相同。
      

  12.   

    实际上你问得这个问题是为什么构造时需要加 this,这个问题上面的网友已经回答了我是想说一下 this 这个关键字在Java中,调用一个方法一般需要通过对象的引用,即 a.function(b);
    这里的调用看起来只是传入的一个参数b,实际上还有一个隐式参数被传入,这就是这个对象a的引用
    这个隐式参数如何在方法内使用呢?那就是使用this这个关键字。由此也可以理解为什么类的静态方法中不能使用this关键字,就是因为调用一个类的静态方法的时候,根本就没有传入这个隐式参数。
      

  13.   

    TextView tv = new TextView(this)可以看下TextView这个类的构造方法,构造方法需要一个参数。
    构造函数中可定需要一个当前的类对象作为参数,所以你需要一个this的参数。或者你可以这样试下:
    package com.test;import java.util.ArrayList;
    import java.util.List;
    import java.util.Random;public class TestUtil {
    /**
     * @param args
     */
    public static void main(String[] args) {
    } public void run() {
    /*
     * 用this和实例化一个当前类的对象作为参数,是一样的
     */
    // 用法1
    ThreadDemo ThreadDemo = new ThreadDemo(this);
    // 用法2
    TestUtil testUtil = new TestUtil();
    ThreadDemo ThreadDemo1 = new ThreadDemo(testUtil);
    }
    }package com.test;public class ThreadDemo implements Runnable { private String num;
    ThreadDemo(String num) {
    this.num = num;
    }

    ThreadDemo(Object aa) {
    } public void run() {
    // TODO Auto-generated method stub
    System.out.println(num);
    }}