在java中怎么知道哪些括号里要不要写this?

public class MainActivity extends ActionBarActivity {
private LinearLayout root;
private Button btnClickme;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
** root=new LinearLayout(this);**
}
}

    中就如“root=new LinearLayout(this);”这行,为什么后面括号要this,因为最前面有两个定义的原因么?。如果没有前面两个定义后面括号里还要不要this?

如果没有,你用this ,也没有什么用。this一般表示有多个同名变量,但是由于优先级的关系,使用this调用优先级更低的全局变量,

1 这里括号里面的this说明传递的是当前对象,说明这个LinearLayout这个类的构造函数,有一个参数类型就是ActionBarActivity ,可以直接用当前类的实例this来创建一个LinearLayout对象。
2 this就是只当前类的实例对象,如果需要访问当前类的实例方法或者成员变量,就可以直接通过this.来操作。这里的用法就是直接将this对象作为一个参数传递其他方法了。

推荐你去看看java基础中的this代表的含义,一般来说指的是当前对象等等

在Android中初始化LinearLayout时,需要传入参数,可以参考LinearLayout的构造函数,在这里这个this的含义代表了上下文(也就是Context)表示现在
这个LinearLayout布局将在MainActivity这个上下文的环境中展示相关布局,继承自View的类初始化时都要传递上下文(Context)参数。在Java中this
代表当前对象。所以具体要不要this,还需要你看初始化类的参数是否需要。