如何设置类的显示信息

要显示一个类的信息,怎么做?
1、  一个类通常要提供显示类的信息的方法。但如果自己写如show()会不规范。
2、  打印一个类,其实是调用类的toString( )方法。如果类自己没有重写toString()方法,则调用Object的String()方法。
示例:
package bu18;
 
public class Test2 {
      
       public static void main(String[] args){
              Student stu1 = new Student();
              stu1.setName("张三");
              stu1.setAge(20);
              System.out.print(stu1);
       }
 
}
 
 
class Student extends Object{
      
       public String name;
      
       private int age;
 
       public int getAge() {
              return age;
       }
 
       public void setAge(int age) {
              if(age<0 ||age>150){
                     System.out.println("日志:输入年龄不合法。"+age);
                     age = 18;//学生默认18岁
              }
             
              this.age = age;
       }
 
       public String getName() {
              return name;
       }
 
       public void setName(String name) {
              this.name = name;
       }
      
 
       public String toString(){
             
              return "学生:姓名="+this.name+";年龄="+this.age;
             
       }
      
}
 
改进:
1、  空构造方法
2、  在多次调用“+”来创建新字串的地方,改用StringBuffer。
 
到此,才是一个比较完善的类设计。
 
 
class Student{
      
       public String name;
      
       private int age;
      
       public Student(){
             
       }
      
       public int getAge() {
              return age;
       }
 
       public void setAge(int age) {
              if(age<0 ||age>150){
                     System.out.println("日志:输入年龄不合法。"+age);
                     age = 18;//学生默认18岁
              }
             
              this.age = age;
       }
 
       public String getName() {
              return name;
       }
 
       public void setName(String name) {
              this.name = name;
       }
      
 
       public String toString(){
              StringBuffer bf = new StringBuffer();
              bf.append("学生:姓名=");
              bf.append(this.name);
              bf.append(";年龄=");
              bf.append(this.age);
             
              return bf.toString();
             
       }
      
}
 
 
同学提问:如果一个类有10个属性,那么就要对付一共20个getter和setter。会不会太多了?
回答:不会。一是因为getter和setter可以通过IDE(如Eclipse)生成;二是getter和setter在很多JAVA前沿的技术都必须设计。比如不这样设计网页就不能获取的成员变量如name的值。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值