class Testfunction
{
private String name;//姓名
private int age;//年龄
String getName(){
return name;
}
int getAge(){
return age;
}
void setName(String a){
name = a;
}
void setAge(int a){
if(a<20)
{
System.out.println("你的年龄有误");
}
else
{
age = a;
}
}
//自我介绍方法
void Myprint()
{
System.out.println("我叫"+name+"今年"+age);
}
public static void main(String[] args)
{
Testfunction stu = new Testfunction();
stu.name = "张三";
stu.age = 15;
stu.Myprint();
}
}大家看一下上面的简单代码,这里的setXxx()和getXxx()不是可以验证数据吗?为什么我让年龄等于15的时候,上面的那个setAge()里面的内容没有打印出来??知道的,请给我解释一下,这里先谢谢了,能给我讲讲这两个函数的作用最好,谢谢……
{
private String name;//姓名
private int age;//年龄
String getName(){
return name;
}
int getAge(){
return age;
}
void setName(String a){
name = a;
}
void setAge(int a){
if(a<20)
{
System.out.println("你的年龄有误");
}
else
{
age = a;
}
}
//自我介绍方法
void Myprint()
{
System.out.println("我叫"+name+"今年"+age);
}
public static void main(String[] args)
{
Testfunction stu = new Testfunction();
stu.name = "张三";
stu.age = 15;
stu.Myprint();
}
}大家看一下上面的简单代码,这里的setXxx()和getXxx()不是可以验证数据吗?为什么我让年龄等于15的时候,上面的那个setAge()里面的内容没有打印出来??知道的,请给我解释一下,这里先谢谢了,能给我讲讲这两个函数的作用最好,谢谢……
要这样: stu.setAge(15);
Testfunction stu = new Testfunction();
stu.name = "张三";
stu.setAge(15);
stu.Myprint();
直接来赋值,这个程序编译的时候根本就是错误的
在main()函数里面,要这样写才行
stu.setAge(15);
是访问私有成员变量的 函数 不具有其他操作
看看java 的规范吧
而且setXxx()也没被调用,自然结果就是你看到的那样
比如xx.setName("Mike"); xx.setAge(23);
把main()中的stu.age=15一句替换成stu.setAge(15)
public class Circle {
private int a=5;
public static void main(String[] args) {
Circle c=new Circle();
c.a=10;
System.out.println(c);
}
@Override
public String toString() {
return "Circle [a=" + a + "]";
}}main()中设置值啊私有变量能用c.在设置值运行上面的就知道了
把所以的变量设置为私有,通过get,set方法取值和赋值。
没有调用set方法,应该写stu.setAge(15);