java 类成员和实例成员的访问
2018-03-09 16:07
197 查看
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修饰。
类中的成员:方法、字段、内部类。
类成员:使用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修饰。
相关文章推荐
- Java面向对象-类成员和实例成员的访问
- Java学习(十一)java实例对象访问类成员
- Java如何在静态方法中访问类的实例成员(没附加static关键字的字段或方法)
- Java中为什么内部类可以访问外部类的成员
- java继承时多态方法与成员的访问
- 如何在静态方法中访问类的实例成员
- 深入理解Java中为什么内部类可以访问外部类的成员
- 【转】java程序访问derby的两种模式实例
- Java中,成员内部类的常见修饰符及应用 && 成员内部类不是静态的,访问的格式
- Java中public、private、protect对数据成员或成员函数的访问限制
- java语言基础(36)——面向对象(多态的代码体现以及成员之间的访问关系)
- java数据成员初始化实例
- 学习总结-访问权限修饰符,实例成员和类成员,初始化字段
- Java利用反射访问对象的私有成员
- (JNI)C/C++ 访问 Java 实例变量和静态变量
- Java易混淆的概率:成员变量、类变量、实例变量、局部变量
- Java通过反射访问私有成员变量和私有方法
- Java实例成员和静态成员的理解
- java中有成员访问权限private,public等原因
- Java类成员的四种访问权限