当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:12:00  来源:本站整理

根究Java内部类的可见性[Java编程]

赞助商链接



  本文“根究Java内部类的可见性[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

在Java中,当生成一个内部类的对象时,此对象与制造它的外部类通过外部类的.this保持着接洽,因此该内部类对象可以拜候其外部类对象的全部成员,包含private成员.

而该内部类对象关于其他类的对象的拜候,遵循通例的拜候权限语法,这一点也没有什么分外支持.这里需求探究的是,外部类以及其他类的对象可以若何拜候到某个内部类对象,即内部类的可见性问题.

下面是一个示例程序Out.java,此中包含了4个差别拜候权限的内部类(private,default,protected,public),在每个内部类中,辨别包含4个差别拜候权限的成员与办法.在外部类Out中供应了得到内部类实例的办法.

Out.java

package com.zj.main;
public class Out {
   public PrivateIn getPrivateIn(){
    return new PrivateIn();
   }

   public DefaultIn getDefaultIn(){
    return new DefaultIn();
   }

   public ProtectedIn getProtectedIn(){
    return new ProtectedIn();
   }

   public PublicIn getPublicIn(){
    return new PublicIn();
   }

   private class PrivateIn implements InMethod{
    private int private_arg;
    int default_arg;
    protected int protected_arg;
    public int public_arg;

    private void private_method(){};
    void default_method(){};
    protected void protected_method(){};
    public void public_method(){};
   }

   class DefaultIn implements InMethod{
    private int private_arg;
    int default_arg;
    protected int protected_arg;
    public int public_arg;

    private void private_method(){};
    void default_method(){};
    protected void protected_method(){};
    public void public_method(){};
   }

   protected class ProtectedIn implements InMethod{
    private int private_arg;
    int default_arg;
    protected int protected_arg;
    public int public_arg;

    private void private_method(){};
    void default_method(){};
    protected void protected_method(){};
    public void public_method(){};
   }

   public class PublicIn implements InMethod{
    private int private_arg;
    int default_arg;
    protected int protected_arg;
    public int public_arg;

    private void private_method(){};
    void default_method(){};
    protected void protected_method(){};
    public void public_method(){};
   }
   public static void main(String[] args){
    //create an outer object
    Out out=new Out();

    //create a private inner object by 'new'
    Out.PrivateIn privateIn=out.new PrivateIn();
    privateIn.private_arg=0;
    privateIn.private_method();

    // create a private inner object by 'out's method'
    Out.PrivateIn privateIn2 = out.getPrivateIn();
    privateIn2.private_arg = 0;
    privateIn2.private_method();
   }
}


  以上是“根究Java内部类的可见性[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • <b>深化根究JavaMail API的操纵</b>
  • 根究Java内部类的可见性
  • 根究Java与Ruby语言迁移时的安全性
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .