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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© sjw12025 中级黑马   /  2016-5-1 18:49  /  703 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1,class Demo2_Person {
        public static void main(String[] args) {
                Person p = new Person();
                p.speak();
        }
}
class Person {
        String name;                                               
        int num;
        public void speak() {
                int num = 10;                                       
                System.out.println(name);
                System.out.println(num);
        }
}
2,class Demo1_Student {
                Student s = new Student();                                       
                print(s);
        }
        public static void print(Student stu) {                       
                stu.name = "张三";
                stu.age = 23;
                stu.speak();
        }
}
为什么1用p.调用,2就print(s)调用?

3 个回复

倒序浏览
1是对象方法。 要用对象调用。
2是静态方法,属于类方法,直接类名调用,这里是省略类名了。
回复 使用道具 举报
楼上正解
回复 使用道具 举报
349153256 发表于 2016-5-1 19:25
1是对象方法。 要用对象调用。
2是静态方法,属于类方法,直接类名调用,这里是省略类名了。 ...

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