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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 沈子豪 中级黑马   /  2013-3-3 12:20  /  1606 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 沈子豪 于 2013-3-4 23:27 编辑

class Person
{
        private String name;
        private char sex;
        private int age;
        public void setName(String n)
        {
         name=n;
        }
        public void setSex(char s)
        {
         sex=s;
        }
        public void setAge(int a)
        {
            if(a>=5&&a<=100)
                {
                 age=a;
                }
                else
                {
                System.out.println("年龄错误");
                }
        }
   public int getAge()
        {
    return age;
    }
        public char getSex()
        {
        return sex;        
        }
        public String getName()
        {
        return name;
        }
        private void speak()
        {
        System.out.println("我的名字是"+name+" 我的性别是"+sex+" 我的年龄是"+age);
        }
}
class jieshao
{
public static void main(String[] args)
        {
     Person p=new Person();
     p.setName("xxx");
     p.setSex('男');
         p.setAge(24);
     p.speak();
    }
}

各位我把speak函数私有化了,那我如果想测试上面那个函数该怎么办?我的主函数不能调用了..可能有点钻牛角尖

评分

参与人数 1黑马币 +9 收起 理由
贾文泽 + 9 淡定

查看全部评分

4 个回复

倒序浏览
本帖最后由 赵华帅 于 2013-3-3 15:13 编辑

可以另外提供一个接口供外部访问或调用,例如:

class Person
{
        private String name;
        private char sex;
        private int age;
        public void setName(String n)
        {
         name=n;
        }
        public void setSex(char s)
        {
         sex=s;
        }
        public void setAge(int a)
        {
            if(a>=5&&a<=100)
                {
                 age=a;
                }
                else
                {
                System.out.println("年龄错误");
                }
        }
   public int getAge()
        {
    return age;
    }
        public char getSex()
        {
        return sex;        
        }
        public String getName()
        {
        return name;
        }
        private void speak()
        {
        System.out.println("我的名字是"+name+" 我的性别是"+sex+" 我的年龄是"+age);
        }
       public void nowSpeak()
        {   
                         System.out.println("我要开始说话了:");
                         speak();
                         System.out.println("我说完了。");
        }
}
public class jieshao
{
public static void main(String[] args)
        {
     Person p=new Person();
     p.setName("xxx");
     p.setSex('男');
     p.setAge(18);
    p.nowSpeak();
    }
}

回复 使用道具 举报
                   lou shang   + 1   
回复 使用道具 举报
多此一举   哥们儿看来你的基础。。。嘿嘿
回复 使用道具 举报
可以提供一个public 权限的函数,此函数内部掉用private函数即可

public void mySpeak()
{
    speak();
}
跟如getAge()是一样的原理
还有专牛角尖,是成为牛人的必备素质。想想乔老大那个轴劲。。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马