我要在MAIN里 调用 member 类的一个getName
不用 Member member = new Member(); 这样实例化
应该怎么实例化??
 public class Member
{
 private string i; public meber(A类 a,B类 b,C类 c)
 {
  
 } public void setName(string i)
 {
  
 } public string getName
 {
  
 }
}

解决方案 »

  1.   

    public class Member
    {
    //........

    public static Member createMember(参数列表)
    {
    return new Member(参数列表);

    }
      

  2.   

    方法太多了,
    常见的又单例模式、工厂模式,
    还有Spring注入
      

  3.   

    Member member = (Member)Class.forName("Member").newInstance();
      

  4.   


    Member member = new Member(); 
    member.getName()new Member().getName()效果一样,2种写法·
      

  5.   


    工厂模式还是要new 的吧..用反射试试
    package com.reflect;import java.lang.reflect.Constructor;public class ReflectTest { public static void main(String[] args) {
    Class<Member> clazz = com.reflect.Member.class;
    Constructor<Member> constructor = null;
    Member member = null;
    try {
    constructor = clazz.getConstructor(String.class);
    } catch (Exception e) {
    e.printStackTrace();
    } if (constructor != null) {
    try {
    member = (Member) constructor.newInstance("hello");
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    System.out.println(member.getName());  //~output: hello
    }}class Member {
    private String str; public Member(String args) {
    this.str = args;
    } public void setName(String args) {
    this.str = args;
    } public String getName() {
    return this.str;
    }
    }
      

  6.   


    楼主代码中已经提供了无参的构造方法你这个调用.newInstance() 是不会成功的... 这个只是在类有默认无参构造方法时候才可以
      

  7.   

    木有看见import java.lang.reflect.Constructor;
    import java.sql.Timestamp;
    import java.util.Collection;
    import java.util.HashMap;
    import java.util.Map;import com.sunyard.sunflow.client.SunflowClient;class Member
    {
     private String i; public Member(String a,String b,Integer c)
     {
       
     } public void setName(String i)
     {
       
     } public String getName()
     {
       return null;
     }
    }
    public class Test {
    public static void main(String[] args) throws Exception {
    Class clazz = Member.class;
    Constructor constructor = clazz.getConstructor(String.class,String.class,Integer.class);
    constructor.newInstance("arg1","arg2",7);
    }
    }