网站 建设 成品,电脑上如何进入wordpress,成都市住房和城乡建设厅官网,优惠的网站建设1、静态字段
如果将一个字段定义为static#xff0c;每个类只有一个这样的字段。而对于非静态的实例字段#xff0c;每个对象都有自己的一个副本。
例如#xff1a;
class Employee
{private static int nextId 1;private int id;...
}其中#xff0c;每一个Employee对…1、静态字段
如果将一个字段定义为static每个类只有一个这样的字段。而对于非静态的实例字段每个对象都有自己的一个副本。
例如
class Employee
{private static int nextId 1;private int id;...
}其中每一个Employee对象都有一个自己的id字段但这个类的所有实例将共享一个nextId字段。换句话说如果有1000个Employee类对象则有1000个实例字段id,分别对应每一个对象。但是只有一个静态字段nextId。即使没有Employee 对象静态字段nextId 也存在。它属于类而不属于任何单个的对象。 注释: 在一些面向对象程序设计语言中静态字段被称为类字段。术语“静态”只是沿用了C的叫法并无实际意义。 2、静态常量
Math类中的一个静态常量
public class Math
{...public static final PI 3.1415926535897932846;...
}在程序中用Math.PI来访问这个变量。
如果省略关键字static, PI 就变成了Math 类的一一个实例字段。也就是说需要通过Math类的一个对象来访问PI并且每一一个Math对象都有它自己的一个PI副本。
System类中你的一个静态常量
public class System
{...public static final PrntStream out ...;...
}静态常量只能访问不能直接修改。
如
System.out new PrintStream(...); // ERROR--out is final3、静态方法
静态方法是不在对象上执行的方法。例如Math类中pow方法就是一个静态方法。表达式Math.pow(x,a).
Employee类的静态方法不能访问id实例字段因为它不能在对象上执行操作。但是静态方法可以访问静态字段。
示例:
public static int getNextId()
{return nextId; //返回静态字段
}可以直接用类名调用该方法
int n Employee.getNextId();在下面两种情况下可以使用静态方法:
方法不需要访问对象状态因为它需要的所有参数都通过显式参数提供(例如:(Math.pow)。方法只需要访问类的静态字段( 例如: Employee . getNextId)。
4、main方法
需要注意可以调用静态方法而不需要任何对象。例如不需要构造Math类的任何对象就可以调用Math,pow。同理main 方法也是-一个静态方法。
public class Applicationpublic static void main(String[] args)// construct objects here...}
} main方法不对任何对象进行操作。事实上在启动程序时还没有任何对象。静态的main方法将执行并构造程序所需要的对象。 提示: 每一个类可以有一个main方法。这是常用于对类进行单元测试的一个技巧。例如可以在Employee类中添加一个main方法: class Employee
public Employee(String n, double s, int year, int month, int day)
{name n;salary s;hireDay LocalDate. of(year, month, day);
}
public static void main(String[] args) // unit test
{var e new Employee(Romeo, 50000, 2003, 3, 31);e.raiseSalary(10);System.out . println(e.getName() e.getSalary());
}如果想要独立地测试Employee类只需要执行 java Employee如果Employee类是一个更大型应用程序的一部分就可以使用下面这条语句运行程序 java ApplicationEmployee类中的main方法永远不会执行