黑马程序员技术交流社区
标题:
新手求教,很简单但是不理解
[打印本页]
作者:
沈子豪
时间:
2013-3-3 12:20
标题:
新手求教,很简单但是不理解
本帖最后由 沈子豪 于 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函数私有化了,那我如果想测试上面那个函数该怎么办?我的主函数不能调用了..可能有点钻牛角尖
作者:
赵华帅
时间:
2013-3-3 12:48
本帖最后由 赵华帅 于 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();
}
}
作者:
江华
时间:
2013-3-3 13:04
lou shang + 1
作者:
克零岚
时间:
2013-3-3 13:17
多此一举 哥们儿看来你的基础。。。嘿嘿
作者:
移动小坦克
时间:
2013-3-3 22:05
可以提供一个public 权限的函数,此函数内部掉用private函数即可
如
public void mySpeak()
{
speak();
}
跟如getAge()是一样的原理
还有专牛角尖,是成为牛人的必备素质。想想乔老大那个轴劲。。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2