黑马程序员技术交流社区
标题:
实例变量与类变量的区别
[打印本页]
作者:
李江
时间:
2013-7-4 22:21
标题:
实例变量与类变量的区别
本帖最后由 杨兴庭 于 2013-7-5 22:14 编辑
class Person
{
String name;
static String country = "CN";
public static void show()
{
System.out.println(name+"::"+country);
}
}
复制代码
什么是类变量?什么是实例变量?
static 的是类变量,那么name是实例变量吗?
如果在面方法中定义的变量时什么变量?
作者:
sunriselzz
时间:
2013-7-4 23:29
static修饰的是静态成员变量,是随着类的加载而加载的,可以用类名直接调用,生命周期较长。而name是成员变量是随着对象的创建而存在。在main方法中定义的是局部变量,随着方法调用的结束而消失。
作者:
李友元
时间:
2013-7-4 23:39
在类的范围中定义的变量,用static修饰的就是类变量,没有用static修饰的就是实例变量。类变量的作用范围是整个类,只要类存在,就可以访问该类的类变量。类变量也可以通过实例来访问。而实例变量随实例的存在而存在,只能通过实例来访问。如:实例.变量。下面的静态方法中没有定义局部变量,里面只是引用了上面的实例变量和类变量。
作者:
黄少海
时间:
2013-7-5 00:38
class Person
{
private Student student; //比如有一个Student类在persion类中 这边定义它就是一个实例变量 了。student.speak()像这种可以直接调用里面的方法很方便。 String name; //成员变量;
static String country = "CN";
public static void show()
{
System.out.println(name+"::"+country);
}
}
作者:
一木榜公
时间:
2013-7-5 00:40
在类中,有static修饰的成员变量是类变量,没有static修饰的成员变量是实例变量,在函数中定义的变量都是局部变量。
作者:
王广亚
时间:
2013-7-5 13:56
class Person
{
String name; //name是实例变量(因为创建对象(实例)时才被创建)也叫成员变量(因为作用范围是在整个类中)
static String country = "CN"; //static修饰的是类变量(因为随着类的加载而加载)也叫做静态变量(因为被static(静态)所修饰)。
//静态和成员并不冲突,我们可以叫这个变量为静态的成员变量
public static void show()
{
System.out.println(name+"::"+country);
}
}
复制代码
作者:
杨兴庭
时间:
2013-7-5 16:53
为了更好的维护论坛的学习氛围,如果您的的问题“已经解决”请即时联系版主将帖子状态改成“已解决”
-------------------坚持学习,黑马因你而精彩---------------
作者:
李江
时间:
2013-7-5 19:18
ok.感谢大家,我懂了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2