为什么使用static,静态类,方法,变量的特点

为什么使用static,静态类,方法,变量的特点

static 静态的 public class Student { String name; double java; double sql;

//以下成员不属于任何一个对象,而是属于整个类,随着类的加载而加载 static double avg_java; static double avg_sql;

public void showInfo() { System.out.println(name + "java成绩是" + java + "数据库成绩是" + sql); System.out.println("平均分是"+avg_sql); }

public static void main(String[] args) { Student.avg_java =0; Student st =new Student(); st.avg_java =0;

Student st2 =new Student(); st2.avg_sql =0;

}}

为什么使用static 普通成员变量是每个对象都有的自己的属性 有些变量并不属于对象个体,而是属于整个类,是所有的对象所共享的 这一类变量我们要声明为static,静态的

静态变量和实例变量的区别?

静态变量存储在方法区,属于类所有.实例变量存储在堆当中,其引用存在当前线程栈.属于对象私有。需要注意的是从JDK1.8开始用于实现方法区的PermSpace被MetaSpace取代了.

特点 static表示静态的,在类的内部使用,可以修饰变量,方法,内部类 用static修饰的成员都属于类级别的成员,在类加载期间初始化,随着类的加载而加载,早于对象存在 静态的成员只有一份,所有对象共享 静态成员的访问,可以直接使用类名.静态成员的方式访问,也可以使用对象.静态成员的方式访问,访问的都是同一个值 静态的方法只能访问静态的成员变量,普通方法都可以访问,普通变量和静态变量 不可以在方法中定义静态变量

在编译时所分配的内存会一直存在(不会被回收),直到程序退出内存才会释放这个空间,在类实例化为对象之前静态方法就已经存在于内存,即跟类的对象实例化没什么关系

当父类引用指向子类对象,只会调用父类的静态方法,此行为并不具有多态性!所以子类重写父类的静态方法,并没有实际意义!

相关资讯

使用Hashcat破解.zip .rar .7z等壓縮檔密碼的詳細教程
beat365在线平台网址

使用Hashcat破解.zip .rar .7z等壓縮檔密碼的詳細教程

⌚ 08-24 👁️ 6986
新老shuffle对比
beat365在线平台网址

新老shuffle对比

⌚ 07-28 👁️ 2878
在法属留尼汪岛,每20公里邂逅一片新天地!攻略在此
beat365在线平台网址

在法属留尼汪岛,每20公里邂逅一片新天地!攻略在此

⌚ 09-29 👁️ 7058