20180228 java 类成员和实例成员的访问
类中的成员:方法、字段、内部类。
类成员:使用static修饰的
实例成员:没有使用static修饰的成员
static只能修饰类内,方法外的成员。
类成员只能访问类成员,实例成员只能访问实例成员
类成员直接属于类,可以通过类来访问static字段和static方法。
实例成员只属于对象,通过对象来访问非static字段和非static方法。
(对象其实可以访问类成员,但是底层依然使用类名访问)
在static方法中,只能调用static成员。
eg:
class PersonDemo
{
string info = “xxx”;
static string info2 = “yyy”;
public static void main()
{
System.out.println(info);//不能调用,会报错
System.out.println(info2);//可以调用,输出 yyy
}
}
非static方法可以访问静态成员,也可以访问非static成员(实例成员)。
什么时候定义成static字段或static方法?
答:如果这样一个状态或行为属于整个事物,即属于整个类,就直接使用static修饰,该状态或行为被所有对象共享。
在实际开发过程中,往往把工具方法使用static修饰。
如果不使用static修饰,则这些方法属于该类的对象,我们得先创建对象再调用方法,再开发中工具对象只需要一份即可,可能创建n个对象,此时我们往往把该类设计成单例的,单还是有点麻烦
所以一般的,在开发中设计工具方法,为了调用简单,我们使用static修饰。