问答详情
源自:7-3 Java 中的访问修饰符

除了在当前类,同包下其它类, 有没有可用的方法来调用 用private修饰的方法?

 

//Telphone类

public class Telphone {

           //定义一个private方法messages:
    private void messages(){
     System.out.println("电话可以发短信  :");
    }
}


//Initial类

public class Initiail {

    public static void main(String[] args) {
  // TODO Auto-generated method stub
    Telphone a=new Telphone();        //实例化对象a
    a.messages();                //这里是错的!不可直接调用
     }
}

 

提问者:Bad__Guy 2015-07-05 13:25

个回答

  • 犁牛
    2015-07-05 14:43:27
    已采纳

    使用Java的反射机制,得到messages()方法的字节码,调用class.accessable()方法使其可以访问,然后就可以使用class.method()方法对其进行操作了。

  • long1226230
    2015-07-05 19:57:59

     //Telphone类

     public class Telphone {

      void use(){
       messages();
      }

                //定义一个private方法messages:
         private void messages(){
          System.out.println("电话可以发短信  :");
         }
     }

    public class Initiail {
        public static void main(String[] args) {
      // TODO Auto-generated method stub
         Telphone a=new Telphone();        //实例化对象a
         a.use();                //这里是错的!不可直接调用
         }
    }


  • long1226230
    2015-07-05 15:48:58

    是否可以在与private修饰的同一个类中对外提供一个方法的调用方法呢?