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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 嘿马 中级黑马   /  2013-11-25 22:31  /  1027 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

方法中,如果没有出现过特有数据的话,那么就可以给方法前面加上static,表示静态方法;突然想到,主函数public static void main(String[] args)中就有static,那么就说明主函数中不能调用特有数据?但是可以在主函数中创建对象,如Student s=new Student();s.age=17;这个s.age不是堆里面的特有数据吗?那么为什么在static的静态方法中可以调用特有数据?举例如下:
class Student
{
        int age;
}
class Demo
{
        public static void main(String[] args)
        {
                Student s=new Student();
                s.age=17;
                System.out.println(s.age);
        }
}
               

评分

参与人数 1技术分 +1 黑马币 +3 收起 理由
FFF + 1 + 3 鼓励新同学~不过,下次代码要放代码框里哦~.

查看全部评分

3 个回复

正序浏览
我写两个小例子看下。
第一个:static静态调用
class Student
{
       
        public static  void show()
        {
                System.out.println("张三");
        }
}
public class Test
{
        public static void main(String[] args) {
                Student.show();
               
        }
}
第二个:创建对象调用
class Student
{
        String name ;
       
        public Student(String name)
        {
                this.name = name;
        }
        public void show()
        {
                System.out.println("name:"+name);
        }
}
public class Test
{
        public static void main(String[] args) {
//                Student2.name = "张三";//不是static修饰时,这两个就不可行了
//                Student2.show();
                Student s = new Student("张三");
                s.show();
               
               
        }
}










点评

FFF
下次代码要放代码框里哦~  发表于 2013-11-25 23:43

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 赞一个!鼓励分+1

查看全部评分

回复 使用道具 举报
"方法中,如果没有出现过特有数据的话,那么就可以给方法前面加上static,表示静态方法;"
这个说法没错,没有特有数据,没有创建对象的必要。
static修饰静态方法,主要是为了方便类名直接调用方法,可以省去创建对象后,再用对象调用的步骤。

主函数public static void main(String[] args)  中的static正是为了让虚拟机直接用类名.main,调用main方法。
你所说的“主函数中调用了特有数据”,看一下在具有主函数的Demo类中,并没有特有数据。

public class Demo
{
        int x =0 ;//没有这样的特有数据
        public static void main(String[] args) {

               
        }
}
s.age是创建了Student对象后,用对象调用的Student类的特有数据,与主函数的static无关。

评分

参与人数 1技术分 +1 黑马币 +5 收起 理由
枫儿 + 1 + 5

查看全部评分

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