这是一种办法 但是应用方面的话的确比较少 我现在用到了关于这种引用构造器的方法 打个比方 当你继承父类的时候 父类的构造器是有参的 而该参数是Class 是指定父类将对什么对象进行操作的重要环节 而子类继承父类的话 子类只是单方面去针对某个对象去操作 所以就不需要像父类那么通用了 所以只需要将有参的构造器转换成无参数的 也就是父类的构造器class Father { public Father(Class<? extends Father> classObject) { } } 子类的构造器class Son extends Father { public Son() { this(Son.class); } public Son(Class<? extends Father> classObject) { super(classObject); }}
this关键字只能在方法内部使用,表示对“调用方法的那个对象”的引用。
public class A { private int age; privage String name; public A(){} public A(int age) { this(age,"") //这里可以调用自己两参的构造函数,简化了,当属性越多时就越好用了 } public A(int age,String name) { this.age=age; this.name=name; }}
this代表的是本类的对象,只在方法中使用.比如可以跟踪该类创建的所有对象等等
和super一起就好理解了
this能简化构造函数的调用?谁能举个列子? 简化构造函数的例子:public class A{ public A(){ } public A(String str){ this(); } } this有哪些作用? 1.通过this调用本类中的成员变量,方法 2.使用this从一个构造方法中调用其他构造方法。 3.用this表示当前对象
this就是当前类(MyDate)的一个代号。在setter()方法里最能体现。例如: public class Test{ int i; public void setI(int i){ this.i = i; } }setI()方法的参数名为i,Test类的属性也为i,所以在setI()方法中必须用this指定具体是哪一个i。this.i 就代表了当前类(Test)的属性i。这样才可以通过setI()方法为属性初始化。 [转]唐山迪锐
public A(){
}
public A(String str){
this();
}
}
使用this还可以从一个构造方法中调用其他构造方法。
this最重要的特性 —— 表示当前对象
http://developer.weaseek.com/2008/0822/50334619.shtml
这是一种办法 但是应用方面的话的确比较少 我现在用到了关于这种引用构造器的方法 打个比方 当你继承父类的时候 父类的构造器是有参的 而该参数是Class 是指定父类将对什么对象进行操作的重要环节 而子类继承父类的话 子类只是单方面去针对某个对象去操作 所以就不需要像父类那么通用了 所以只需要将有参的构造器转换成无参数的 也就是父类的构造器class Father {
public Father(Class<? extends Father> classObject) { }
}
子类的构造器class Son extends Father { public Son() {
this(Son.class);
} public Son(Class<? extends Father> classObject) {
super(classObject);
}}
{
private int age;
privage String name;
public A(){} public A(int age)
{
this(age,"") //这里可以调用自己两参的构造函数,简化了,当属性越多时就越好用了
} public A(int age,String name)
{
this.age=age;
this.name=name;
}}
简化构造函数的例子:public class A{
public A(){
}
public A(String str){
this();
}
} this有哪些作用?
1.通过this调用本类中的成员变量,方法
2.使用this从一个构造方法中调用其他构造方法。
3.用this表示当前对象
public class Test{
int i; public void setI(int i){
this.i = i;
}
}setI()方法的参数名为i,Test类的属性也为i,所以在setI()方法中必须用this指定具体是哪一个i。this.i 就代表了当前类(Test)的属性i。这样才可以通过setI()方法为属性初始化。
[转]唐山迪锐