this关键字
表示用类的成员变量,而非函数参数。
用于在构造方法中引用满足指定参数类型的构造器(也就是构造方法)。但是在这里必须非常注意:只能引用一个构造方法且必须位于开始!必须是第一条语句!
this的作用:表示对当前对象的引用!
普通方法中使用this。
区分类成员属性和方法的形参。
构造方法中使用this。
使用this来调用其它构造方法。
this不能用于static方法。
因为this指代当前对象,而static则无对象之说。
static关键字
是关键字同时也是修饰符,用于修饰成员(成员变量和成员函数)
被修饰后的成员具备以下特点:
优先于对象的存在因为static的成员是随着类的加载存在的·被所有对象所共享例:
static string count="sc";//用static修饰此数据 可成为每个对象的共享数据
·除了对象调用之外,还可以直接被类名调用
类名.静态成员
在类中,用static声明的成员变量为静态成员变量 ,或者叫做: 类属性,类变量.
static修饰的数据是共享数据,对象中的储存的是特有数据
- 用static声明的方法为静态方法
- 在静态方法内,不能用this.puper
1、“static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。
而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。这实际上正是static方法的主要用途。”
2、自己理解:有些数据不需要对象的,可以带 static,然后类名去访问
3、static可以用来修饰类的成员方法、类的成员变量,另外可以编写static代码块来优化程序性能。
成员变量跟静态变量的区别:
1.两个变量的生命周期不同
- 成员变量随着对象的创建而存在,随着对象的消失而消失·
- 静态变量随着类的加载而加载,随着类的消失而消失
2.调用方式不同
- 成员变量只能被对象调用。
- 静态变量可以被对象调用,还可以被类名调用
3.别名不同
- 成员变量也成为实例变量。
- 静态变量成为类变量
4.数据存储位置不同
- 成员变量数据存储在堆内存的对象中,所有也叫对象的特有数据
- 静态变量数据存储在方法区(共享数据区)的静态区里面,所以也叫对象的共享数据