java中static和非static有什么区别
时间: 2023-11-06 12:05:57 浏览: 57
在Java中,static和非static有以下几点区别:
1. static成员属于类,而非static成员属于类的实例。也就是说,非static成员必须通过类的实例才能访问,而static成员可以通过类名直接访问。
2. static成员在内存中只有一份拷贝,而非static成员在每个类的实例中都有一份拷贝。这意味着,如果修改了一个static成员的值,那么这个值将被所有的对象共享。
3. static方法不能访问非static成员,因为非static成员必须通过类的实例才能访问。而非static方法可以访问static成员和非static成员。
4. static初始化在类加载时进行,而非static初始化在类实例化时进行。
5. static成员可以被类名直接访问,而非static成员必须通过对象引用访问。
总之,static成员和方法可以在没有类的实例存在的情况下使用,而非static成员和方法必须通过类的实例才能使用。并且,static成员和方法可以被所有的对象共享,而非static成员和方法是每个对象独有的。
相关问题
java中的public static和static有什么区别
在Java中,public static和static关键字有一些不同之处。public是访问修饰符,表示该方法或变量可以被任何类访问,而static是静态修饰符,表示该方法或变量属于类,而不是对象实例。如果在一个类中,一个方法或变量使用了static关键字,则所有这个类的对象实例都共享这个方法或变量,而不是每个对象拥有自己的副本。希望这能够帮到你!
笑话:说一个程序员讲的笑话:“有两种人,一种是懂二进制的人,另一种是不懂的人。”
Java中static和final是什么意思
static和final都是Java中的关键字。
static表示静态的,可以修饰变量、方法和代码块。静态变量属于类,不属于对象,可以通过类名直接访问,也可以通过对象访问。静态方法也属于类,不属于对象,可以通过类名直接调用,也可以通过对象调用。静态代码块在类加载时执行,只执行一次。
final表示不可变的,可以修饰变量、方法和类。final变量只能赋值一次,不能被修改。final方法不能被子类重写。final类不能被继承。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)