java中的static关键字
2017-07-23 19:33
253 查看
static关键字
static:静态的
static修饰成员变量的特点:
1.static 修饰的成员变量是该类所有对象的共享
2.static 修饰的成员变量随着类的加载就在静态区中开辟内存了,所以优先非静态成员变量开辟内存
3.static 修饰的成员变量可以直接使用类名访问
看下面的例子:
class Student//定义了一个student类
{
String name;
static String country="CN";//将属性country修饰为静态成员变量
public void show()//显示函数
{
System.out.println(name+","+country);//输出对象的名字和所属国家
}
}
class Demo_1
{
public static void main(String[] args)//main函数:程序运行的入口
{
student stu1=new Student();//创建对象stu1
stu1.name="Jack";
stu1.show();//调用show方法
student stu2=new Student();
stu2.name="Tom";
stu2.show();
student stu3=new Student();
stu3.name="Jim";
stu3.show();
stu1.country="USA";//修改对象stu1的country属性
System.out.println(stu2.country+","+stu3.country);//输出对象stu2和stu3的country属性
}
}
由运行结过来看当对象的某个属性被修饰为静态时 (如本例中的属性country),则该类的所有对象的这一属性
都是一样的值,即static修饰的成员变量是多有对象的共享,所有的对象可以直接使用;然而当修改某一个对
象的这一属性值时,则其他对象的也会变为与之相同。
静态成员变量和非静态成员变量的区别:
(1).存储的数据
静态成员变量存储的是对象共享的数据
非静态成员变量存储的是每个对象特有的数据
(2).存储位置
静态成员变量是随着类的加载就在方法区中开辟内存了
非静态成员变量是随着对象的创建才在堆中开辟内存的
(3).调用方式
静态成员变量可以对象访问也可以通过类名直接访问
非静态成员变量只能通过对象访问
补充:
非静态成员变量又叫实例成员变量
静态成员变量又叫类变量
有static修饰的函数叫实例函数
无static修饰的函数叫类函数
注意:非静态的方法(函数)可以使用静态和非静态成员,而静态的方法只能使用静态的不能使用非静态的成员。
static:静态的
static修饰成员变量的特点:
1.static 修饰的成员变量是该类所有对象的共享
2.static 修饰的成员变量随着类的加载就在静态区中开辟内存了,所以优先非静态成员变量开辟内存
3.static 修饰的成员变量可以直接使用类名访问
看下面的例子:
class Student//定义了一个student类
{
String name;
static String country="CN";//将属性country修饰为静态成员变量
public void show()//显示函数
{
System.out.println(name+","+country);//输出对象的名字和所属国家
}
}
class Demo_1
{
public static void main(String[] args)//main函数:程序运行的入口
{
student stu1=new Student();//创建对象stu1
stu1.name="Jack";
stu1.show();//调用show方法
student stu2=new Student();
stu2.name="Tom";
stu2.show();
student stu3=new Student();
stu3.name="Jim";
stu3.show();
stu1.country="USA";//修改对象stu1的country属性
System.out.println(stu2.country+","+stu3.country);//输出对象stu2和stu3的country属性
}
}
由运行结过来看当对象的某个属性被修饰为静态时 (如本例中的属性country),则该类的所有对象的这一属性
都是一样的值,即static修饰的成员变量是多有对象的共享,所有的对象可以直接使用;然而当修改某一个对
象的这一属性值时,则其他对象的也会变为与之相同。
静态成员变量和非静态成员变量的区别:
(1).存储的数据
静态成员变量存储的是对象共享的数据
非静态成员变量存储的是每个对象特有的数据
(2).存储位置
静态成员变量是随着类的加载就在方法区中开辟内存了
非静态成员变量是随着对象的创建才在堆中开辟内存的
(3).调用方式
静态成员变量可以对象访问也可以通过类名直接访问
非静态成员变量只能通过对象访问
补充:
非静态成员变量又叫实例成员变量
静态成员变量又叫类变量
有static修饰的函数叫实例函数
无static修饰的函数叫类函数
注意:非静态的方法(函数)可以使用静态和非静态成员,而静态的方法只能使用静态的不能使用非静态的成员。
相关文章推荐
- 学习java基础之关键字static
- Java关键字final、static使用总结
- Java Static静态关键字理解
- Java——关于static关键字的那些事总结
- java中静态代码块、静态方法、static关键字详解
- Java中的static关键字
- Java中的static关键字
- 7、从零开始学习JAVA--static关键字
- java之关键字static
- Java:static关键字 代码块
- Java关键字final、static使用总结
- Java关键字final、static使用总结
- 【Java】static关键字
- Java中的static关键字解析
- Java关键字final、static使用总结
- 大数据Java基础系列-static关键字
- Java关键字final、static使用总结
- Java关键字final、static使用总结
- Java static关键字
- java中final和static关键字浅谈