为了账号安全,请及时绑定邮箱和手机立即绑定

除了在当前类,同包下其它类, 有没有可用的方法来调用 用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();                //这里是错的!不可直接调用
     }
}

 

正在回答

5 回答

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

0 回复 有任何疑惑可以回复我~
#1

Bad__Guy 提问者

非常感谢!Java的反射机制还没学到努力中
2015-07-05 回复 有任何疑惑可以回复我~
#2

犁牛 回复 Bad__Guy 提问者

大家都是初学,我也是偶然学到的,加油吧
2015-07-06 回复 有任何疑惑可以回复我~

 //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();                //这里是错的!不可直接调用
     }
}


1 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

Bad__Guy 提问者

不行,试着像对属性那样运用set/get方法没成功!
2015-07-05 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信