This指针与成员数据初始化
成员数据
- 默认初始化
- 在类中直接进行初始化
如:public int a = 3;
- 通过无参构造对数据进行初始化
举例:public class Myclass(){
private int x;
private int y;
public Myclass(){
x=3;
y=4;
}
}
**在类中直接构造和无参初始化任选其一。
**主要选择构造函数初始化,因为会破坏类的抽象性。
当前对象指针this
- this
- this 表示当前创建或使用的对象
- this 只能在类内使用
- 一个类中只有一个this
**一个对象在类外用引用名引用,类内用this指针引用
用法:
<1>在类内的某个非静态方法中,若数据成员与方法中的形参局部变量同名,数据成员加this引用。
<2>通过this在类内引用构造
举例:public class Myclass{
private int x;
private string s;
public Myclass (){
x = 0;
s = “Tom”;
}
public Myclass(string s)//构造函数重载
{
this.s= s;
}
public Myclass(int x,string s)
{
this.x = x;
this(s); //调用public Myclass(string s)构造
}
}
<3>在类内引用表示当前对象
举例:public class Myclass{
Private int x;
Private int y;
public Myclass (){
x = 0;
y = 0;
}
public Myclass(int x, int y)//构造函数重载
{
this.x = x;
this.y = y;
}
Public void Copy(Myclass t)//成员方法
{
This = t;
}
}
Client:
Myclass my = new Myclass(3,5);//创建对象
my.CopyObject(my);
这就是我今天的分享,希望对大家有帮助。