getInitialContext()是类的method,而且还是private的,怎么可以在main里直接调用

解决方案 »

  1.   

    请问楼上
    一个类中的private method和private attribute不能被这个类中的main函数调用么?
      

  2.   

    getInitialContext()是类的method,而且还是private的,怎么可以在main里直接调用楼上说的是对地
    ************************************你们都不是用JAVA的吧. 搞不懂你们都在想什么,谁说的在一个类中MAIN 不能调用这个类的PRIVATE 方法???你的问题是你的方法 private Context getInitialContext() 写到类的外面去了,这个JAVA是不能不管的确良^_^ , 这个家伙太粗心了!!!
      

  3.   

    楼上说得对,不过还有一条,就是在static方法里面调用另一个private方法时,该方法一定也要声明为
    static方法吧~
      

  4.   

    //我改动了3处问题,但没有环境去调试,你先试试看import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.rmi.PortableRemoteObject;
    import java.math.BigDecimal;
    import weblogic.jndi.*;
    import java.util.Properties;public class Frame1 {
      public static String url="t3://202.119.123.221:7001";
      public static void main(String[] args) {
        try{
            Context context=getInitialContext();
            Object ref = context.lookup("ConverterBean");
            ConverterHome home =(ConverterHome)PortableRemoteObject.narrow(ref,
                                                ConverterHome.class);
            Converter currencyConverter = home.create();        BigDecimal param = new BigDecimal ("100.00");
            BigDecimal amount = currencyConverter.dollarToYen(param);
            System.out.println(amount);
            amount = currencyConverter.yenToEuro(param);
            System.out.println(amount);        System.exit(0);    }catch(Exception ex){
           ex.printStackTrace();  //原来为e
        }
      }//注意我把这里的反大括号移动到了最后一行
    private static Context getInitialContext() throws Exception {   //需要static修饰
        //String url = "t3://newconcept:7001";
        String user = null;
        String password = null;
        Properties properties = null;
        try {
          properties = new Properties();
          properties.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
          properties.put(Context.PROVIDER_URL, url);
          if (user != null) {
            properties.put(Context.SECURITY_PRINCIPAL, user);
            properties.put(Context.SECURITY_CREDENTIALS, password == null ? "" : password);
          }      return new InitialContext(properties);
        }
        catch(Exception e) {
          System.out.println("Unable to connect to WebLogic server at " + url);
          System.out.println("Please make sure that the server is running.");
          throw e;
        }
      }
    }
      

  5.   

    main方法声明为static,所以不能直接调用其他非static 的方法
    在这里改一下:Context context=getInitialContext();
    ConverterClient client=new ConverterClient();
    Context context=client.getInitialContext();
    应该没问题了!
      

  6.   

    呵呵,楼主是马大哈再世,犯了N多非技术性错误。而bon_jovi(西门疯雪) 看来是真得疯了。
      

  7.   

    bon_jovi(西门疯雪)估计他的意思也是getInitialContext()是类的method应该放到类内部,而不应该在外部~小疯而已