成员变量就是类中的属性。当new对象的时候,每个对象都有一份属性。一个对象中的属性就是成员变量。在类内部,任何地方都可以访问成员变量。类变量是被static修饰的属性。作用范围在类变量定义之后。
class Person{
//成员变量,实例变量
String name;
//静态变量,类变量,所有对象共享的属性用static修饰
static String country = "CN";
public void show(){
System. out.println(country + ":" + name); }}
class StaticDemo{
public static void main(String[]args){
Personp = new Person();
System. out.println(p.country); //可以用类名直接调用
System. out.println(Person.country); }}
扩展资料:
成员变量和类变量的区别:
1、两个变量的生命周期不同
成员变量随着对象的创建而存在,随着对象的回收而释放。
静态变量随着类的加载而存在,随着类的消失而消失。
2、调用方式不同
成员变量只能被对象调用。
静态变量可以被对象调用,还可以被类名调用。
3、数据存储位置不同
成员变量存储在堆内存的对象中,所以也叫对象的特有数据。
静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据。
1、成员变量:定义在类中,方法体之外。变量在创建对象时实例化。成员变量可被类中的方法、构造方法以及特定类的语句块访问。示例如下:
public class ClassName{
int a;
public void printNumber(){ // 其他代码 }
}
2、类变量:定义在类中,方法体之外,但必须要有 static 来声明变量类型。静态成员属于整个类,可通过对象名或类名来调用。
public class ClassName{
static int a;
public void printNumber(){ // 其他代码 }
}
扩展资料:
成员变量和类变量的区别:
1、两个变量的生命周期不同
成员变量随着对象的创建而存在,随着对象的回收而释放。
静态变量随着类的加载而存在,随着类的消失而消失。
2、调用方式不同
成员变量只能被对象调用。
静态变量可以被对象调用,还可以被类名调用。
3、别名不同
成员变量也称为实例变量。
静态变量也称为类变量。
4、数据存储位置不同
成员变量存储在堆内存的对象中,所以也叫对象的特有数据。
静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据。
请参考这篇文章,讲得很清楚如何理解 Java 的类变量、成员变量、类属性、实例属性?
class person{
public static int num;//用于记录人口的数量,类变量
public int age;//用于记录人的年龄,成员变量
person p=new person();//创建一个人类的对象
}
从类里面的属性定义来看,人口是类相关的,年龄是对象相关的。
类变量可以直接用类名加点来调用,当然也可以用对象来调用,不过不合理,因为人口不是一个人的属性。
而成员变量要由对象加点来调用。
java的类中有两种成员变量
一种就是类变量或静态变量 这类变量前面加油static关键字修饰
这类变量一旦赋值它的值就在你new出来的任何一个实例中具有相同的值
另一种叫做实例变量 前面不加static关键字修饰,每一个new出来的新实例都可以对他赋予自己需要的值
例子
class example{
static int a = 0;
int b = 1;
}
a是类变量,b是实例变量
example e1 = new exzample();
example e2 = new exzample();
改变e1中a的值会使e2中的a值也改变
而e1中b值的变化不会带来e2中a值的变化