一,this关键字:
1,this关键字用于在方法中访问对象的成员,使用方法与C#完全相同;通过this关键字可以明确地去访问一个类的成员变量,解决与局部变量名冲突的问题;通过this关键字调用成员方法。
2,使用this关键字调用类的构造方法时要注意:只能在构造方法中使用this关键字来调用其他的构造方法,不能再成员方法中使用;再构造方法中使用this关键字调用构造方法必须写在第一行,且只能出现一次;不能再一个类的两个构造方法中使用this关键字互调。
3,当成员变量和局部变量重名时,在方法中使用this时,表示的是该方法所在类中的成员变量;
4,把自己当作参数传递时,也可以用this.(this作当前参数进行传递);
5,当我们用到一些内部类和匿名类时,如事件处理。在匿名类中用this时,这个this则指的是匿名类或内部类本身。这时如果我们要使用外部类的方法和变量的话,则应该加上外部类的类名。实现如下:
public void Hello() {
public void Hi() {
Hello.this.Hi();//调用外部类的方法
}
6,在构造函数中,通过this可以调用同一类中别的构造函数;
注意: 在构造调用另一个构造函数,调用动作必须置于最起始的位置。 不能在构造函数以外的任何函数内调用构造函数。 在一个构造函数内只能调用一个构造函数。
7,把自己当作参数传递时,也可以用this.(this作当前参数进行传递)。
二,内部类:
1,在一个,类中定义的另一个类就叫做内部类,在成员内部类中可以访问外部类的所有成员;
2,如果像通过外部类去访问内部类,则需要通过外部类对象去创建内部类对象:
外部类名.内部类名 变量名 = new 外部类名(). New 内部类名();
3,静态内部类:用static关键字来修饰一个成员内部类,可以在不创建外部类对象的情况下被实例化
注意:在静态内部类中只能访问外部类的静态成员;在静态内部类中可以定义静态的成员,在非静态的内部类中不可以定义静态的成员。
4,方法内部类:在成员方法中定义的类,只能在当前方法中使用。
三,static关键字:
1,该静态关键字用于修饰类的成员,被static修饰后的属性可被所有实例共享;
2,静态代码块:static{代码};通常使用静态代码块来对类的成员变量进行初始化;