黑马程序员技术交流社区

标题: 帮看看这个代码,初学者!谢谢各位帮忙 [打印本页]

作者: 0.00    时间: 2013-3-2 23:11
标题: 帮看看这个代码,初学者!谢谢各位帮忙
class person      
{
        private String name="gande";
        public void getname(String name)
        {
        this.name=name;
        }
        public String setname(String name)
        {
        return this.name=name;
        }
        public void show()
        {
               
        System.out.println(name+"heihei");
        }
}
class mstatic
{
        public static void main(String[]args)
        {
        person p=new person();
  setname("sunxin");
        p.show();
        }
}

谢谢各位
作者: 李易烜    时间: 2013-3-2 23:19
setname("sunxin");
前面少东西了,改为:p.setname("sunxin");
作者: 黄欢    时间: 2013-3-2 23:21
本帖最后由 黄欢 于 2013-3-2 23:28 编辑
  1. class person      
  2. {
  3.         private String name="gande";
  4.         public String getname()
  5.         {
  6.          return this.name;
  7.         }
  8.         public void setname(String name)
  9.         {
  10.          this.name=name;
  11.         }
  12.         public void show()
  13.         {     
  14.          System.out.println(getname()+"   heihei");
  15.         }
  16. }
  17. class mstatic
  18. {
  19.         public static void main(String[]args)
  20.         {
  21.         person p=new person();
  22.         p.setname("sunxin");
  23.         p.show();
  24.         }
  25. }
复制代码
不过你这样写不好。
作者: 刘辉    时间: 2013-3-2 23:27
class person      
{
         private String name="gande";
         public void setname(String name)
         {
         this.name=name;
         }
         public String getname()
         {
         return name;
         }
         public void show()
         {
                 
        System.out.println(this.name+"heihei");
         }
}
class mstatic
{
         public static void main(String[]args)
         {
            person p=new person();
                        p.setname("sunxin");
            p.show();
         }
}
我也是初学者,我知道这样写木问题的。
作者: 克零岚    时间: 2013-3-2 23:29
哥们儿,setName("sunxin")是哪个类实例对象的方法,要告诉编译器啊,p.setName("sunxin")

作者: 0.00    时间: 2013-3-3 00:00
谢谢 各位哈,看了下笔记,发现问题了,
作者: 杨剑    时间: 2013-3-3 00:13
写类名的时候首字母大写比较好,比如Person,方法名,第一个单词首字母大写,从第二个单词开始每个单词首字母大写比较好,你写成setName和getName这样命名规范。getName()方法是获取name,一般不需要参数,需要String类型的返回值;setName方法是设置一个属性,需要一个name参数,不需要返回值,应该这样写setName(String name){this.name=name},还有就是在main方法中,方法需要对象调用,setName("sunxin"),应写成p.setName()
作者: 徐升2013    时间: 2013-3-3 11:15
setname("sunxin");是一个方法 参数也传入了 但是没有调用,必须得创建该类对象才可以调用 所以你少写了一个p.

如果该方法被static修饰 那么可以不用创建对象,直接用类名调用即可。当然如果方法改成静态的static的之后,方法所要访问的成员变量也要更改,这几个知识点是连贯的 希望对楼主有些帮助。




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