static
##前言:
static修饰符修饰的变量为常量不应对象的存在和存在;相当于c语言中对全局变量做了一定访问的限制,
引例:求一个圆的面积,圆周率是一个固定的数值,每次创造一个圆的对象都要存储一个圆周率数值话会浪费空间;
解决:固定的值,用类的空间,而不是对象的空间;不因对象的产生和产生;没有创造对象也可以直接访问,具体见使用格式

使用格式
1.类名.静态变量名;
2.对象名.静态变量名;

静态函数
import java.util.*;
class TestStatic
{
static void least(int[] array)
{
int min=array[0];
for(int i=1;i<array.length;i++)
{
if(array[i]<min)
min=array[i];
}
System.out.println("最小数:"+min);
}
}
public class day03
{
public static void main(String[] args)
{
int[] a={8,3,7,88,9,23};
TestStatic.least(a);
}
}
静态方法只能访问static成员变量或static方法(静态成员不能访问实例成员)
关于main方法
main方法的访问权限为何必须为public,static?
JVM需要在类外调用main方法,所以访问权限必须是public
由于JVM需要在类外调用main方法,而且JVM运行在系统开始执行一个程
序前,并没有创建main方法所在的类的实例,所以只能通过类名来调用
main方法作为程序的入口,因而该方法必须是static。
public class Test{
public static void main(String[] args){
}
}
终结


本文深入探讨Java中静态变量和静态方法的概念与应用,解释如何利用它们优化内存使用,特别是在处理固定值如圆周率时。同时,文章详细解析静态方法的特性,包括其访问权限及与实例成员的区别,以及为什么main方法必须声明为public和static。

被折叠的 条评论
为什么被折叠?



