1. 类变量和类方法
介绍:
类变量也叫静态变量/静态属性,是该类的所有对象共享的变量,任何一个该类的对象去访问它时,取到的都是相同的值,同样任何一个该类的对象去修改它时,修改的也是同一个变量。
语法:
访问修饰符 static 数据类型 变量名;【推荐】
static 访问修饰符 数据类型 变量名;
static 变量是对象共享 不管static 变量在哪里,共识:(1) static 变量是同一个类所有对象共享
(2)static 类变量,在类加载的时候就生成了
如何访问类变量:
类名.类变量名
对象名.类变量名
使用细节:
1. 当我们需要让某个类的所有对象都共享一个变量时,就可以考虑使用类变量(静态变量)
2. 类变量是该类的所有对象共享的,而实例变量是每个对象独享的
3. 加上static称为类变量或静态变量,否则称为普通属性/普通成员变量/非静态属性/非静态成员变量
4. java设计者推荐使用 类名.类变量方式访问
5. 实例变量可以通过 类名.类变量名 方式访问
注意事项:
1. 类方法和普通方法都是随着类的加载而加载,将结构信息存储在方法区:类方法中无this的参数
普通方法中隐含着this的参数
2. 类方法可以通过类名调用,也可以通过对象名调用。
3. 普通方法和对象有关,需要通过对象名调用,比如对象名.方法名(参数),不能通过类名调用
4. 类方法中不允许使用和对象有关的关键字,比如this和super。
5. 类方法中只能访问 静态变量 或静态方法。
6. 普通成员方法,即可以访问普通变量(方法),也可以访问静态变量(方法)。
结语:静态方法,只能访问静态的成员,非静态的方法,可以访问静态成员和非静态成员
2. main语句深入理解
介绍:
1. main方法时虚拟机调用
2. java虚拟机需要调用类的main方法,所以该方法的访问权限必须时public
3. java虚拟机在执行main()方法时不必创建对象,所以该方法必须是static
4. 该方法接受String 类型的数组参数,数组中保存执行java命令时传递给所运行的类的参数
5. java执行的参数 参数1,参数2,参数3
特点提示:
1. 在main()方法中,我们可以直接调用main方法所在类的静态方法或静态属性。
2. 但是,不能直接访问该类中的非静态成员,必须创建该类的一个实例对象后,才能通过这个对象去访问类中的非静态成员