孤老人 2022-07-30 14:35 采纳率: 90%
浏览 33
已结题

为什么return可以返回多个值

package com.hspedu.encap;

public class Encapsulation01 {

public static void main(String[] args) {
    Person person = new Person();
    person.setName("jackfsfasfafasfa");
    person.setAge(3000);
    person.setSalary(30000);
    System.out.println(person.info());
    System.out.println(person.getSalary());
}

}
/那么在java中如何实现这种类似的控制呢?请大家看一个小程序(com. hspedu.encap
: Encapsulation01.java),不能随便查看人的年龄,工资等隐私,并对
设置的年龄进行合理的验证。年龄合理就设置,否则给默认年龄,必须在
1-120,年龄,王资不能直接查看, name的长度在2-6字符之间
/
class Person {
public String name;//名字公开
private int age;//age私有化
private double salary;

public String getName() {
    return name;
}

public void setName(String name) {
    //加入对数据的校验,相当于增加了业务逻辑
    if(name.length() >= 2 && name.length() <= 6) {
        this.name = name;
    }else {
        System.out.println("名字的长度不对,需要(2-6)个字符,默认名字");
        this.name = "无名人";
    }
}

public int getAge() {
    return age;
}

public void setAge(int age) {
    //判断
    if(age >= 1 && age <= 120) {//如果是合理范围
        this.age = age;
    }else {
        System.out.println("年龄需要在1-120");
        this.age = 18;//给一个默认年龄
    }
}

public double getSalary() {
    //可以增加对当前对象的一个权限判断
    return salary;
}

public void setSalary(double salary) {
    this.salary = salary;
}
//写一个方法,返回属性信息
public String info() {
    return "信息为 name=" +name + " age=" +age + " 薪水=" +
            salary;
}

}
代码的最后return最后一行为什么能返回那么多东西,不是说return只能返回一个值吗?

  • 写回答

3条回答 默认 最新

查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 8月8日
  • 已采纳回答 7月31日
  • 创建了问题 7月30日

悬赏问题

  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应
  • ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效
  • ¥100 连续两帧图像高速减法
  • ¥15 组策略中的计算机配置策略无法下发
  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)