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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© air 中级黑马   /  2013-11-9 14:22  /  1024 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 air 于 2013-11-9 16:11 编辑

主函数
{
Teacher t = new Teacher("XXX");
System.out.println(t.name+t.prelect)   
//我这里如果要调用这两个数值并打印显示,但是因为private
我要在主函数中调用这个name.可是他是私有的,我要怎么定义一个set方法去调用它呢?
}


class Teacher
{
        private String name;
        private Computer cmpt;
        Teacher(String name)
                {
                        this.name = name;        
                        cmpt = new Computer();
                }


        public void prelect()
        {
                cmpt.run();
                System.out.println("讲课");
        }
}

评分

参与人数 1技术分 +1 收起 理由
黄炳期 + 1

查看全部评分

5 个回复

正序浏览
梁健生 发表于 2013-11-9 16:10
/*
        目的:建立老师类,并打印老师的名字和讲课的方法。
        思路:

哦~~谢谢你啊,我明白了~
回复 使用道具 举报
/*
        目的:建立老师类,并打印老师的名字和讲课的方法。
        思路:
        1,建立类名、和主函数。
        2,建立Teacher类,私有化成员变量name、lesson;
        3,构造函数初始化,提供对外访问方法setName,setLesson建立prelect方法。
*/
class Main
{
        public static void main(String [] args)
        {
                Teacher t = new Teacher("李老师","教电脑课");
               
                t.setName("李老师师师");  //改名字
                t.setLesson("美术");//改教的课
                t.prelect();   //执行讲课方法即打印
        }
}

class Teacher
{
        private String name;
        private String lesson;

        Teacher(String name,String lesson)   //构造函数初始化
        {
                this.name=name;
                this.lesson=lesson;

                System.out.println("老师名字:"+this.name+" 教什么"+this.lesson);
        }


        public void setName(String name)//name对外访问方法
        {
                this.name=name;
        }
       
        public void setLesson(String lesson)  //lesson对外访问方法
        {
                this.lesson=lesson;
        }

        public void prelect()
        {
               
                System.out.println(name+"教"+lesson+"课 ");    //name和lesson前面都省略this。
        }
}
回复 使用道具 举报
air 发表于 2013-11-9 15:15
我当然明白.我要的是Set.和get.的具体实现方法. 因为名字是私有的.虽然可以public
但你把它public的话就有 ...

那你用方法二吧  下面是set方法
public void setName(String name) {
   this.name = name;
}
回复 使用道具 举报

我当然明白.我要的是Set.和get.的具体实现方法. 因为名字是私有的.虽然可以public
但你把它public的话就有违现实生活规律了.
回复 使用道具 举报

  1. class Demo {

  2.         public static void main(String[] args) {
  3.                 Teacher t = new Teacher("XXX");
  4.                 System.out.println(t.name+t.prelect);  //此处想要调用Teacher t 的 name 最简单方法就是把成员变量 private String name中的private 改成public
  5.                 }
  6. }

  7. class Teacher
  8. {
  9.         private String name;
  10.         private Computer cmpt;
  11.         Teacher(String name)
  12.                 {
  13.                         this.name = name;        
  14.                         cmpt = new Computer();
  15.                 }

  16.         public void prelect()
  17.         {
  18.                 cmpt.run();
  19.                 System.out.println("讲课");
  20.         }

  21.                 //方法二,可添加公共的访问name方法  在主函数打印的t.name改成t.getName()即可
  22.                 public String getName() {
  23.                         return name;
  24.                 }
  25. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
黄炳期 + 1

查看全部评分

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