A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 袁术森 中级黑马   /  2013-3-7 23:55  /  1037 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 袁术森 于 2013-3-7 23:57 编辑

虽是视频上都有,我觉得这样总结出来对比着看比较容易理解两者的应用,希冀抛砖引玉。
我们知道调用成员的两种方式:1、用类名调用,但前提是被调用的成员须是静态的。2、用对象来调用。用两个例子来阐述下会很明了。

1class Demo
{
        int x=6;
        public static void main(String[] args)
        {
                System.out.println("x="+new Demo().x);
}

}若没有下划线部分,就相当于在主函数(主函数是静态的方法)方法里调用了非静态的x变量,编译会报错找不到符号x。这里的下划线部分就是用Demo对象来调用的。因为Demo对象里有x成员变量。或者不添加下滑线部分,将非静态变量x前加static修饰,这样静态成员变量可被静态方法调用。

2class Person
{
        static int x=2;
}
class Demo
{
        public static void main(String[] args)
        {
               
                System.out.println(Person.x);
        }这里便是通过类名直接调用静态的x变量,若把static去掉 ,就和例1类似了,通过对象调用的方式,即将Person.变为new Person().便可
}

评分

参与人数 1黑马币 +6 收起 理由
陈丽莉 + 6

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马