当前位置: 代码迷 >> J2SE >> 合代码,优化java代码解决办法
  详细解决方案

合代码,优化java代码解决办法

热度:161   发布时间:2016-04-24 12:11:10.0
合代码,优化java代码
下边是一段示例代码,不知道可不可以把C类中的两个方法合成一个方法呢?
Java code
class A {    private String name;    public String getName();    ……}class B {    private String name;    public String getName();    ……}class C {    public String getUserName (A a) {        return a.getName();    }    public String getUserName(B b) {        return b.getName();    }}



------解决方案--------------------
让 A B 都去继承一个借口~~~
借口里定义一个方法叫 getName
然后 C 调用 接口的 getName
------解决方案--------------------
Java code
interface I{  String getName();}class A implements I{    private String name;    public String getName();    ……}class B implements I{    private String name;    public String getName();    ……}class C {    public String getUserName (I i) {        return i.getName();    }}
------解决方案--------------------
楼上你懂了~~呵呵
------解决方案--------------------
最简单的方法,把C作为抽象类,让A,B都继承自C
------解决方案--------------------
抽象类 接口 其实都差不多~~~感觉两者之间使用是反映了编程的思想~~

------解决方案--------------------
不建议你这样做哦~~

Java code
 public static String getUserName(Object o){         try{             A a=(A)o;             return a.getName();         }catch(Exception e){             B b=(B)o;//这里应该才TRY CATCH 一下             return b.getName();                      }              }
------解决方案--------------------
Java code
class A {    public String getName() {        return "A";    }}class B {    public String getName() {        return "B";    }}class C {    public String getName(Object o) throws Exception {        if (o instanceof A) {            return ((A) o).getName();        }        if (o instanceof B) {            return ((B) o).getName();        }        throw new Exception("");    }}
  相关解决方案