黑马程序员技术交流社区

标题: 不同类之间的方法调用 [打印本页]

作者: 江远云    时间: 2012-3-17 10:28
标题: 不同类之间的方法调用
class Demo1
{
        public static void main(String[] args)
        {
                get(8);
        }
}       
class Demo2
{
        public static void get(int num)
        {
         System.out.println(num*3+5);
        }

}
提示说找不到符号,如何调用在不同类中的方法?
作者: 于紫洋    时间: 2012-3-17 10:33
这····Demo2.get(8);
还···还没睡醒吧
作者: 朱辉    时间: 2012-3-17 10:35
你连对象都没有创建,怎么调用
作者: 于紫洋    时间: 2012-3-17 10:39
朱辉 发表于 2012-3-17 10:35
你连对象都没有创建,怎么调用

吐槽点错了
静态的,类名可以调
作者: adison    时间: 2012-3-17 11:15
本帖最后由 adison 于 2012-3-17 11:38 编辑

方法必须被调用才能使用丫,静态方法可以被类名或者对象调用,非静态方法必须建立对象调用,所以改为Demo2.get(8);就没问题。当然,本类中的方法可以直接调用,不过其实是因为它之前有个隐式this.
作者: 江远云    时间: 2012-3-18 13:27
{:soso_e127:} 我知道错了,真的要产生关系才可以调用,不管是方法还是变量,这也是封装性和安全性,面向对象没对象还面对…………
作者: 刘元明    时间: 2012-3-18 17:20
在主函数中创建Demo2的对象,通过对象调用get()方法即可。我相信你是智者千虑,必有一失啊,呵呵
作者: 四海为家    时间: 2012-3-18 23:32
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);
        }

}






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