发布网友 发布时间:2022-04-25 00:48
共5个回答
热心网友 时间:2023-10-18 07:58
static 静态的
static修饰属性:静态属性.不需要依赖于对象而存在,伴随着类的存在而存在.也就是说它直接跟类有关系,所有该类的对象都会对它保持一个引用,如果有任何一个对象修改了静态属性,那么类之中的静态属性就会改变从而影响到其他对象.
那么静态属性的好处就是加载速度快,节省内存.
静态属性有一个很大的特点就是可以直接通过类名.属性调用
*:我所说的静态都是指的属性,也就是实例变量或者成员变量,对于局部变量无效.
static修饰方法:静态方法.可以直接通过类名.方法调用
为什么静态方法这么方便我们还不能全部都使用它?
因为静态方法之中无法直接调用非静态的方法跟属性
希望对你有帮助
热心网友 时间:2023-10-18 07:59
Class A 里
假如 static int[] arr1=new int[10];
那么通过A.arr1 就能访问 不需要创建A的实例(A a=new A())就能被其他类访问
也就是说 对于其他类而言 A.arr1就是固定的
如果不是int[] arr1=new int[10]; 没带static
那可以
A a1=new A()
a1.arr1 就访问了实例a1中的arr1
A a2=new A()
a2.arr1 就访问了实例a2中的arr1
但a1.arr1和a2.arr1是不同的
综上而言 static 修饰的变量 有全局唯一的对象
没有 static 的话 那创建了不同的实例才会有不同的变量 是动态创建的 相对这个动态创建而言 static 修饰的变量很"静态"
热心网友 时间:2023-10-18 07:59
。。。这个不难理解吧,
两点 :
1)类和对象的概念你应该知道吧, STATIC的变量是属于类的,不属于任何一个对象,虽然对象和可以使用,但是那个是公共使用的意思,如果不用STATIC那么这个变量就要属于具体某个对象了(每个对象要创建一个新的这个),
2)因为属于公共的,那么初始化的时候就不必等到类的选项创建出来再初始化了。程序一运行,类加载器就会把STATIC的变量实例化。
PS:内容的存储也会有很多不通的机制,这个就不说了,如果看看现在的ORACLE 的JVM的详解,内存部分其实是差异比较大的部分
热心网友 时间:2023-10-18 08:00
static 在java 中表示“静态”的意思,即类变量,可使用类名直接调用。被static修饰的类变量于该类的任何对象。类在初始化时,JVM就为类变量分配内存,且只为其分配一次。类变量只能用于静态方法中。比如你可以在main 方法中调用类变量,因为main方法被static修饰了。
请参考:http://zhidao.baidu.com/link?url=7VvVxlzGXjT_2xQQPs6_vMVWJqKyt9vNvjF5kZGvihdL39ooBnIZDSNrYvHkFp0-GMRyTXIvCmwUsfKf6CZmDK
热心网友 时间:2023-10-18 08:00
static简单的讲就是将一个(变量/方法)变成(类变量/方法,相当于全局的概念)
public class test1 {
static int a=1;
public static void main(String[] args) {
System.out.println(a);
test1 t = new test1();
t.aaa();
bbb();
}
public void aaa(){
System.out.println("普通方法");
}
public static void bbb(){
System.out.println("静态方法");
}
}
不再需要实例化可以直接调用