惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Y
Y Combinator Blog
IT之家
IT之家
博客园_首页
人人都是产品经理
人人都是产品经理
博客园 - Franky
I
InfoQ
Recent Announcements
Recent Announcements
P
Proofpoint News Feed
H
Hackread – Cybersecurity News, Data Breaches, AI and More
GbyAI
GbyAI
大猫的无限游戏
大猫的无限游戏
aimingoo的专栏
aimingoo的专栏
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
月光博客
月光博客
Microsoft Security Blog
Microsoft Security Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
B
Blog RSS Feed
MongoDB | Blog
MongoDB | Blog
雷峰网
雷峰网
博客园 - 聂微东
N
Netflix TechBlog - Medium
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The GitHub Blog
The GitHub Blog
D
Docker

博客园 - Roland

几个基本的计算机概念 Silverlight 5几个不错的新特性 无光驱采用U盘安装完整版xp javascript 日期格式化(转) jQuery URL Parser 帮助 .net环境下的javascript引擎汇总 使用ANTLR进行命令行参数解析 使用VSTA定制二次开发IDE(一) 探讨Antlr中文文法与英文文法的差异 基础知识之vb.net的拷贝构造函数 垃圾回收浅谈 ASP.NET 页面对象模型[转自Msdnchina] dotnetnuke小结 dotnetnuke中皮肤管理小问题 DNN中令人困惑的用户管理机制 第一次学习dotnetnuke [转帖]怎样成为优秀的软件模型设计者? [转帖]论程序设计方法 让VFP回到旧时代
.net与java中关于访问性的差异
Roland · 2006-10-21 · via 博客园 - Roland

在.net下如下的代码是允许的
    class Program
    {
        static void Main(string[] args)
        {
            B b = new B();
            b.X = 20;
            b.Print(b);
            Console.ReadLine();
        }
    }

    class A {
        int x;
       public void Print(B b) {
            Console.Write(b.x); //可以通过编译
        }

        public int X {
            set {
                x = value;
            }
        }
    }

    class B : A { 
         public void Print(B b){
            Console.Write(b.x); //不可以通过编译
         }
    }
在这里的A类中可以访问B类中继承于A类的私有成员。
下面的是Java代码
public class A {
 private int x=0;
 public void Print(B b){
  System.out.println(b.x); // The field A.x is not visible 
   }
    public void setX(int value){
     x = value;
    }
 
 public void main(String[] args){
  B b = new B();
  b.setX(20);
  b.Print(b);
 }
}

class B extends A {
 
}
在Java中这样的访问是不允许的。