黑马程序员技术交流社区

标题: 关于 [打印本页]

作者: chenxin_0916    时间: 2015-12-28 23:42
标题: 关于
class  Test0019{
        int age;
        String name;
        void haha(){
                System.out.println("hehe!");
        }
        public static void main(String[] args) {
                Test0019 p = new Test0019();
                p.age = 17;
                p.haha();
                System.out.println(age);
        }
}
这样定义的类,为什么只能用他的方法,不能用它的变量?

作者: 唱一些温暖    时间: 2015-12-29 12:44
本帖最后由 唱一些温暖 于 2015-12-29 12:47 编辑

System.out.println(age);//报错是吧
你的age是成员变量,只能被对象调用
p.age = 17;//这里不是被调用了吗
System.out.println(p.age);//改成这样就可以了

成员变量只能被对象调用。
静态变量可以被对象调用,还可以被类名调用。

要么定义变量age时,前面加static修饰,让他变成静态变量
static int age;
System.out.println(age);//那么这条就可以执行了,Test0019.是隐藏的,其实语句是下面这样的
System.out.println(Test0019.age);


作者: 549208564    时间: 2015-12-29 13:47
静态方法中只能调用静态变量,而方法是可以通过类名来调用的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2