黑马程序员技术交流社区
标题:
创建完对象,可以用对象调用静态成员吗?还是只能用类名....
[打印本页]
作者:
dark_horse_xu
时间:
2014-10-2 15:25
标题:
创建完对象,可以用对象调用静态成员吗?还是只能用类名....
本帖最后由 dark_horse_xu 于 2014-10-3 00:01 编辑
如题!!创建完对象,可以用对象调用静态成员吗?还是只能用类名调用????
PS:对象无法更改静态成员变量的值吗?例如 static String country = "CN"; Person p = new Person(); p.country = "USA";
作者:
水竹
时间:
2014-10-2 15:27
都行
作者:
liu951753xz
时间:
2014-10-2 15:39
都可以的
作者:
雨下阳光
时间:
2014-10-2 17:11
用对象调也可以,但是直接类名调用不是更方便吗?
作者:
朴日男
时间:
2014-10-2 20:37
对象当然可以调用静态成员了,修饰成static 也可以用类名直接访问,因为他在类加载时候就已经存在于方法区,
静态修饰的成员变量只要不是被private修饰的就能直接访问,并赋值且修改,
class Person
{
int age;
String name;
static String country = "cn";
Person(int age,String name)
{
this.age = age;
this.name = name;
}
public void speak()
{
System.out.println("我叫"+this.name+",今年"+this.age+"岁,"+"我的国籍是"+country);
}
}
class Temp2
{
public static void main(String[] args)
{
Person p = new Person(20,"小五");
p.country = "usa";
p.speak();
}
}
复制代码
作者:
光头强
时间:
2014-10-2 21:22
可以用对象调用静态成员的 毕老师在视频中讲过的 .
作者:
dark_horse_xu
时间:
2014-10-3 00:00
朴日男 发表于 2014-10-2 20:37
对象当然可以调用静态成员了,修饰成static 也可以用类名直接访问,因为他在类加载时候就已经存在于方法区, ...
嗯。明白了。谢谢了!!
作者:
dark_horse_xu
时间:
2014-10-3 00:01
谢谢。所有回答问题的朋友,问题解决了。
作者:
838598737
时间:
2014-10-6 20:24
class Demo3
{
public static void main(String[] args){
Car car =new Car();
car.a+=1;
System.out.println(car.a);
}
}
class Car
{
public static int a=1;
}
如上面代码所示,是可以调用到static的字段的。
static的函数或者是字段是属于类的,而类的而不是属于一个对象的,类中的static行数或者字段是不能调用对象的,应为,类只有一个而字段是有多个的,编译器将不知道调用那个字段
作者:
14年7月想去it
时间:
2014-10-6 20:39
两个方法都行,成员的值也可以更改,成员加final后才不可以修改的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2