这里借一本java基础教材出上的关于对static的一些讲解继续学习。
被声明为static的变量,常量,方法被称为静态成员。静态成员是属于类所有的,区别于个别对象,可以在本类或其他类使用类名和“.”运算符调用静态成员,语法格式如下:
类名.静态类成员
创建StaticTest类,来调用静态成员并加以理解:
该类的主方法调用静态成员并在控制台中输出
public class StaticTest { static double PI = 3.1415; //在类中定义静态常量 static int id; //在类中定义静态变量 public static void method1() { //在类中定义静态方法 } public void method2() { //在类中定义一个非静态方法 System.out.PRintln(StaticTest.PI); //调用静态常量 System.out.println(StaticTest.id); //调用静态方法 StaticTest.method1(); //调用静态方法 }}静态方法同样遵循权限修饰符的规则。在Java语言中规定不能将方法体内的局部变量声明为static。
而关于main的static,只能是先认定是main作为一个特殊的程序入口,在程序执行时必须先来分配内存,所以将其定义为static,但其可以调用非静态的成员。
在main中访问非静态的成员需要先对成员进行实例化,然后通过
对象名 . 方法或成员名的形式来调用。
新闻热点
疑难解答