Java中,在构造方法里调用本类中的方法是不是可以省略this?
来源:百度知道 编辑:UC知道 时间:2024/09/13 02:59:21
如:
public class SA extends JFream{
SA(){
JButton b=new JButton();
getcontentPane().add(b);
}
}
上例中获得窗格地方法:getcontentPane().add(b);
是不是任何方法都可以省略????????
this不是代表调用此方法的对象吗?如果在构造器前面就用,如:Timer timer = new Timer(1000,this);
有没有影响?
还有就是六楼说:在本类的任何地方调用本类的非静态方法都可以省略this ,为什么静态的不行?
public class SA extends JFream{
SA(){
JButton b=new JButton();
getcontentPane().add(b);
}
}
上例中获得窗格地方法:getcontentPane().add(b);
是不是任何方法都可以省略????????
this不是代表调用此方法的对象吗?如果在构造器前面就用,如:Timer timer = new Timer(1000,this);
有没有影响?
还有就是六楼说:在本类的任何地方调用本类的非静态方法都可以省略this ,为什么静态的不行?
在本类的任何地方调用本类的非静态方法都可以省略this
但是一般大家不这么做,因为写了显得思路更清晰,大家看起来更好懂
可以
Java关键字this只能用于方法方法体内。当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是this。因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this,这在“Java关键字static、final使用总结”一文中给出了明确解释。并且this只和特定的对象关联,而不和类关联,同一个类的不同对象有不同的this。
也不是任何地方啊,
比如你要在一个构造方法里调用另一个构造方法,
就要用this(参数);这样写,
如果你的方法的局部变量和类的成员变量名字一样,也要用this,区分开...
是呀~~~只要在构造方法里调自己的方法就可以省略
任何地方都可以省略。。