前言
▲▲▲我是一个学生,不是大学生,现在疫情开学了,每日的时间比较少▲▲▲
▲▲因此平日只能写一写短小的时间较少的文章▲▲
☺☺☺作者周末会记录写一些长文☺☺☺
∷新人榜单在榜∷
◑◑大号也差不多这个名字◑◑
…最后感谢大家的支持与关注,如果大家又什么意见或者建议可以找作者…
√大家如果觉得作者还不错的话,还请给作者一个关注。
目录
类变量是什么?
类变量也叫静态变量或静态方法,是该类所有对象共享的变量,任何一个该类的对象访问他时,取到的都是相同的值,同样任何一个该类的对象去修改它时,修改的也是同一个变量。
类变量的语法定义
1.访问修饰符 static 数据类型 变量名
2.static 访问修饰符 数据类型 变量名
怎样去访问类变量
类名.类变量名
对象名.类变量名
静态变量的访问修饰符的访问权限和范围 和 普通属性是一样的。
package demo01;
public class demo5 {
public static void main(String[] args) {
//类名.类变量名
//说明:类变量时随着类的加载而创建的,所以即使没有创建实例对象实例也可以访问。
System.out.println(W.name);
W w = new W();
//通过对象名.类变量名
System.out.println("W.name="+W.name);
}
}
class W {
//类变量
public static String name = "yyds";
}
非静态成员方法:
普通成员方法就是类中的那些方法,public是修饰符和修饰符也就是变量(就是变量属性)的意思是相同的,类方法的定义就是使用static修饰该方法,所以在调用方法时,就使用(类,该方法)。
静态成员方法:
如果静态方法访问非静态成员只需要指定特定的对象引用即可。因为非静态方法属于对象,所以静态方法不知道属性对象的信息。同理,在家静态方法中不可以使用,this,super定义对象的引用,即使后面的操作为静态成员也不可以,因为this代表着指向自己的对象引用,而静态方法属于类并不属于对象。
静态成员变量
静态变量可以被对象调用,也可以被类名调用。所以可以说成员变量是对象的特有的数据,静态变量是对象的共享数据。
什么是静态属性和非静态属性
静态属性是指被static修饰符修饰的类,方法,变量或代码块。
非静态属性是指没有被static修饰符修饰过的类,方法,变量或代码块。
package demo01;
public class demo2 {
public static void main(String[] args) {
D.hi();//ok
//非静态方法,不能通过类名调用
//D.say();错误需要先创建对象再调用
new D().say();//可以
}
}
class D{
private int n1 = 100;
private static int n2 = 200;
public void say() {//非静态方法,普通方法
}
public static void hi() {//静态方法,类方法
//类方法中不允许使用和对象有关的关键字
//.普通方法(成员方法可以)
//System.put.println(this.n1)
}
//类方法(静态方法)中 只能访问 静态变量 或静态方法
public static void hello(){
System.out.println(n2);
System.out.println(D.n2);
//System.out.println(this,n2);不能使用
hi();//ok
//say()//错误
}
//普通成员方法,即可以访问 非静态成员,也可以访问静态成员
//小结:非静态方法可以访问 静态成员和非静态成员
public void ok(){
//非静态成员
System.out.println(n1);
say();
//静态成员
System.out.println(n2);
hello();
}
}