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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 江远云 中级黑马   /  2012-3-17 10:28  /  4196 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class Demo1
{
        public static void main(String[] args)
        {
                get(8);
        }
}       
class Demo2
{
        public static void get(int num)
        {
         System.out.println(num*3+5);
        }

}
提示说找不到符号,如何调用在不同类中的方法?

8 个回复

倒序浏览
这····Demo2.get(8);
还···还没睡醒吧
回复 使用道具 举报
你连对象都没有创建,怎么调用
回复 使用道具 举报
朱辉 发表于 2012-3-17 10:35
你连对象都没有创建,怎么调用

吐槽点错了
静态的,类名可以调
回复 使用道具 举报
本帖最后由 adison 于 2012-3-17 11:38 编辑

方法必须被调用才能使用丫,静态方法可以被类名或者对象调用,非静态方法必须建立对象调用,所以改为Demo2.get(8);就没问题。当然,本类中的方法可以直接调用,不过其实是因为它之前有个隐式this.
回复 使用道具 举报
{:soso_e127:} 我知道错了,真的要产生关系才可以调用,不管是方法还是变量,这也是封装性和安全性,面向对象没对象还面对…………
回复 使用道具 举报
在主函数中创建Demo2的对象,通过对象调用get()方法即可。我相信你是智者千虑,必有一失啊,呵呵
回复 使用道具 举报
package one;

class Demo1
{
        public static void main(String[] args)
        {
                Demo2.get(8);//get()是静态的,静态的方法随着类在内存的加载而加载,不需要实例化,直接使用类就可以调用了,
                            //原因:当前的get()在类Demo2中,Demo1想调用该方法,有两种方式,一种是创建对象,当该方法为静态时,直接使用类来调用就行了
        }
}        
class Demo2
{
        public static void get(int num)
        {
         System.out.println(num*3+5);
        }

}

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马