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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 13922919272 中级黑马   /  2015-1-18 15:38  /  1317 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class  Demo2
{
        public static void main(String[] args)
        {
                 Demo s=Demo.getDemo();

                s.setMoneMin("zhangsan",7);

                String b=s.getMoneMin();
                        System.out.println(b);
               
                int a=s.getMone();
                        System.out.println(a);


        }
       
}
class Demo
{
        private static int min;
        private static String mone;

         private Demo(){}

        private static Demo s=new Demo();

        public static Demo getDemo()
                {
                return s;
        }
        public  void setMoneMin(String mone,int min)//加上静态编译为什么this不能通过
        {
                this.mone=mone;       
                this.min=min;
        }       
        public static String getMoneMin()
        {
                return mone;
               
        }
        public static int getMone()
                {
        return min;
        }

评分

参与人数 2技术分 +1 黑马币 +20 收起 理由
lwj123 + 1
湛添友 + 20 很给力!

查看全部评分

8 个回复

倒序浏览
因为你demo类成员变量是static的,而你方法不是静态的,调用的时候,会报错,非静态的无法调用静态的。保持一致就行了。
回复 使用道具 举报
静态是属于类的~~~~~~~~~~不关对象的事
回复 使用道具 举报
static先诞生了,类还在飘渺无际中....用飘渺无际的对象去调用具体的stati修饰对象,是不是有些不那么实际呀?
回复 使用道具 举报
各位大神都说有理啊,我来打酱油了
回复 使用道具 举报
static类型的变量是类变量,随着类的加载而加载,优先于对象而存在,毕老师讲了吧!
回复 使用道具 举报
全是爱 发表于 2015-1-18 22:53
static类型的变量是类变量,随着类的加载而加载,优先于对象而存在,毕老师讲了吧! ...

先存在 我再用后存在的对象去调用 这是可以的吧?这毕老师好像也讲了
回复 使用道具 举报
this是指的是new出来的对象,你这个方法如果加上static的话,就表示这个方法先于对象而存在所以编译就不会通过的啊
回复 使用道具 举报
13922919272 发表于 2015-1-18 22:56
先存在 我再用后存在的对象去调用 这是可以的吧?这毕老师好像也讲了

什么叫后存在的对象?这话听着好别扭,不过也是对的吧。。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马