黑马程序员技术交流社区
标题:
类变量和 实例变量
[打印本页]
作者:
lily
时间:
2011-10-9 13:44
标题:
类变量和 实例变量
类变量和实例变量有什么区别?请举例说明!
作者:
林国锋
时间:
2011-10-9 13:47
String str = "abc"; // 类变量
str = "xyz"; // 就是这样变
Student stu = new Student("黑马程序员"); // 实例变量
stu.setName = "itheima"; // 就是这样变
作者:
王春艳
时间:
2011-10-9 13:50
类变量也叫静态变量,就是我们加了static的变量 ,类变量是所有对象共有的,如果有一个对象把它的值改变了,那么其他对象再用它的时候得到的就是改变后的值;
实例变量就是没加static的变量 ,实例变量是对象私有的 ,所以也叫对象变量,如果一个对象把它的值改变了,不影响其他的对象
作者:
石宗银
时间:
2011-10-9 13:51
类成员,在类加载时,就初始化了, 可以不通过对象,直接用类名.属性或方法名调用
而实例成员,需要在初始化对象后,才能用对象.属性或方法名调用 。。
类成员中 不能调用 实例成员
作者:
李文肖
时间:
2011-10-9 13:54
类变量也叫静态变量,也就是在变量前加了static 的变量;
实例变量也叫对象变量,即没加static 的变量;
区别在于:
类变量和实例变量的区别在于:类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果;而实例变量则属对象私有,某一个对象将其值改变,不影响其他对象;
例:
class A{
static int a = 0; //类变量
public int b = 0; //实力变量
}
public class Test{
public static void main (String[] args){
A a1 = new A();
A a2 = new A();
a1.a = 3; // 等同于 A.a = 3;
a1.b = 4 ;
System.out.println(a2.a); //结果为3
//类变量是针对所有对象的,所以a1改变a,a2的a也改变
System.out.println(a2.b); //结果为0
//实例只改变自身的,所以a1对象的b改变,不影响对象a2的b变量
}
}
作者:
张雷
时间:
2011-10-9 14:10
类变量也叫静态变量,也就是在变量前加了static 的变量;
实例变量也叫对象变量,即没加static 的变量;
区别在于:
类变量和实例变量的区别在于:类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果;而实例变量则属对象私有,某一个对象将其值改变,不影响其他对象;
例:
class A{
static int a = 0; //类变量
public int b = 0; //实力变量
}
public class Test{
public static void main (String[] args){
A a1 = new A();
A a2 = new A();
a1.a = 3; // 等同于 A.a = 3;
a1.b = 4 ;
System.out.println(a2.a); //结果为3
//类变量是针对所有对象的,所以a1改变a,a2的a也改变
System.out.println(a2.b); //结果为0
//实例只改变自身的,所以a1对象的b改变,不影响对象a2的b变量
}
}
作者:
黄治文
时间:
2011-10-9 14:41
类变量也就是静态变量,用static关键字修饰,可直接使用类名访问,在内存中唯一,一个对象改变的它的值以后,所有的对象共享它的结果,其他的语言称之为公共变量
实例变量就是没有static修饰的,归实例对象私有,类实例化后再各个实例对象中值不共享,如
public class Test {
/**
* @param args
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
Example10 ex = new Example10();
Example10 ex1 = new Example10();
ex.number1 = ex.number1 + 10;
ex1.number1 = ex1.number1 + 20;
Example10.number = Example10.number + 10;
Example10.number = Example10.number + 20;
System.out.println(ex.number1);
System.out.println(ex1.number1);
System.out.println(Example10.number);
}
}
class Example10 {
public static int number = 50;
public int number1 = 50;
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2