第一种:
//调用工具类//拿到名字
Tool.getName();//拿到年龄
Tool.getAge() ;//工具类的写法1class Tool{public String getName(){
 ... ...
}
public String getAge(){
... ...
}}
第二种://调用工具类
Tool.getInfo(1);
Tool.getInfo(2) ;
//工具类写法2
class Tool {
 
   public String getInfo(int i){
      if(i=1){
    ...得到名字...
   }else if(i=2){
      ...得到年龄
      }
}
}
这里只是两个例子只是打个简单比方而已,暂时不纠结为什么不写一个person类然后name和age是属性之类的,只是想知道哪种方法更好一些?

解决方案 »

  1.   

    Object obj = ...;String name = Tool.getName(obj);
    int age = Tool.getAge(obj);public abstract class Tool{
     private Tool(){}
     public static String getName(Object obj){
      ...
      return ...;
     }
     public static int getAge(Object obj){
      ...
      return ...;
     }
    }
      

  2.   

    两种都不好,我的方式://定义接口(方法的规格)
    public interface IDoSomething {
    String GetMyName();
    int GetAge();
    }//实现这个接口,按这个规格实现
    public class DoSomething implements IDoSomething { @Override
    public int GetAge() {
    // TODO Auto-generated method stub
    return 0;
    } @Override
    public String GetMyName() {
    // TODO Auto-generated method stub
    return null;
    }}
    程式要分层设计,解决程式码功能之间的过度藕合,方便系统扩展与维护.
      

  3.   

    好像我说的不够清楚,现在把方法2改改大家再看看 
    //调用工具类
    Tool.getInfo("name");
    Tool.getInfo("age") ;
    //工具类写法2
    class Tool {
     
       public String getInfo(String s){
          if(s.equal("name")){
        ...得到名字...
       }else if(s.equal("age")){
          ...得到年龄
          }
    }
    }
      

  4.   

    为什么接口名前要加个“I”?难道类名前要加个“C”,抽象类名前要加个“A”么?
      

  5.   

    当然是1好,见名知意,方便别人调用。不然要那么多get,set方法干什么
      

  6.   

    1吧,以后另外情况时可以重复使用,另外工具类方法名感觉加上static好些。