`
maiguang
  • 浏览: 257462 次
  • 性别: Icon_minigender_1
  • 来自: 焦作
社区版块
存档分类
最新评论

java和c#中public ,private ,protected 及default的区别

    博客分类:
  • JAVA
阅读更多

java作用域public ,private ,protected 的区别    
在说明这四个关键字之前,我想就class之间的关系做一个简单的定义,对于继承自己的class,base class可以认为他们都是自己的子女,而对于和自己一个目录下的classes,认为都是自己的朋友。

1、publicpublic表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用

2、privateprivate表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。

3、protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private

作用域       当前类    同一package   子孙类     其他package

public        √       √             √           √

protected     √       √             √           ×

friendly      √       √             ×           ×

private       √       ×             ×           ×

不写时默认为friendly

 

 

举例1:

 

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            aa c = new aa();

            c.bb;//出错,因为bb是私有的

            c.Bb;//正确,Bb是共有的。封装了bb的一个变量。想访问私有变量,那么就要封装它。
        }
    }
    class aa
    {
        private string bb;

        public string Bb1
        {
            get { return bb; }
            set { bb = value; }
        }
      
    }
}

 
举例2:
class A{
public:
int a1;
protected:
int a2;
private:
int a3;
};
A a;
a.a1;//ok
a.a2;//error
a.a3;//error
class B:public A{
public:
void fb(){
a1;//ok
a2;//ok
a3;//error;
}
};
B b;
b.a1,b.a2,b.a3与a.a1,a.a2,a.a3一样,因为是class B:public A,相当于把A放到了B的public部分。

class B:private A{};

b.a1,b.a2,b.a3都error,因为相当于把A全放到了B的private部分,从B来看这三个变量,都是private的。

 

 

 

 

 

分享到:
评论

相关推荐

    c#学习笔记.txt

    看完了前面几段,我的朋友提出了不同的意见:C#不是Java的Clone,它只是长得有些像Java而已,其实面向对象、中间语言什么的也不是什么新玩意儿,非Sun独创,有文为证:华山论剑:C#对Java。另外他对我上一集中说...

    C# WinForm控件美化之ImageComboBox

    这篇文章中我们重点需要实现的是(3)、(4)两项功能,下面我们来介绍具体实现的方法。 第一步,实现ImageComboBoxItem类。 要实现显示图标,当然要给每个项添加与图标相关的信息了,ImageComboBoxItem类应该包括...

    API精灵源码(C#编)

    设计目的:简单快速对C#中使用的API函数进行查询,并给出调用代码 设计进度: 2004.03.09 完成对<函数类>的查询功能,包括 代码调用,中文注释,所需的DLL库,与C#中函数对应关系 2004.03.10 0:48:52 完成了用...

    C# 俄罗斯方块游戏

    C#做的俄罗斯方块游戏using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Xml; using System.IO; using System.Security....

    C# for CSDN 乱七八糟的看不懂

    C#关键字 关键字 abstract as base bool break byte case catch char checked class const continue decimal default delegate do double else enum event explicit extern false finally fixed float for foreach ...

    C#100例题 献给c#初学者

    protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } private ...

    c#编写的计算器

    用C#编写的计算器 超详细 因为计算器设计的控件太多,不便使用控制台应用程序完成,所以这里使用Windows窗体应用程序,并命名为Calc,如下图所示: 向窗体中拖入需要的控件,如下图所示: (完成效果图) 结果...

    酒店系统管理C#语言开发的

    一个关于C#写的酒店管理系统。。 using System; using System.Collections; using System.ComponentModel; using System.Drawing; using System.Windows.Forms; namespace 酒店管理系统 { public class ...

    C# 源码 教务管理系统

    protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region ...

    FileTypeAndIcon

    C# 根据文件类型获取文件图标 using System; using System.Collections.Generic; using System.Collections; using System.Text; using System.Runtime.InteropServices; using Microsoft.Win32; using System....

    自己写的DES加密解密 ASP.NET(C#)

    public partial class _Default : System.Web.UI.Page { private static byte[] Key64 = { 42, 16, 93, 156, 78, 4, 218, 32 }; private static byte[] IV64 = { 55, 103, 246, 79, 36, 99, 167, 3 }; ...

    谷歌天气API-C# 代码

    public partial class Default2 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { /* * XML µØÖ· * http://www.google.com/ig/api?weather=FuZhou&hl=zh-cn * * ²ÎÊ...

    net学习笔记及其他代码应用

    1. 简述 private、 protected、 public、 internal 修饰符的访问权限。 答 . private : 私有成员, 在类的内部才可以访问。 protected : 保护成员,该类内部和继承类中可以访问。 public : 公共成员,完全公开,...

    vcg(验证码控件)

    f) 在Default.aspx.cs中添加验证函数: protected void btnValidate_Click(object sender, EventArgs e) { string code = “”; try { //真正的验证码存储在Session[“Code”]中,...

    教务管理系统 成品

    protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region 设计器生成的代码 /// ///...

    【。net 专业】 面试题

    5.值类型和引用类型的区别?写出C#的样例代码。 答:结构是值类型,类是引用类型,所以传结构就是值类型的应用啦,传对象或类就是引用类型的,这个不用多写了吧. 6.ADO.net中常用的对象有哪些?分别描述一下。 答:...

    海康卫视开发dll文件

    /// 调节播放的延时和流畅程度,如果buffNum值越大,播放的流畅性越好, /// 相应的延时比较大,buffNum值越小,播放的延时很小, /// 但是当网络不太顺畅的时候,会有丢帧现象,感觉播放不会很流畅。 /// 一般...

    DbfDotNet_version_1.0_Source

    By default the files are compatible with dBase and can therefore be open in Excel and many other packages. I have been asked : Why Dbf ? Dbf is an old format. The answer is a bit long but simple. ...

    asp.net面试题

    可访问性:public ,protected ,private,internal 7.用sealed修饰的类有什么特点 sealed 修饰符用于防止从所修饰的类派生出其它类。如果一个密封类被指定为其他类的基类,则会发生编译时错误。 密封类不能同时为...

    图片上传并按比例缩小

    在ASP.NET中上传图片并生成缩略图的C#源码 <FONT size=4><FONT size=4><FONT size=4>using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using ...

Global site tag (gtag.js) - Google Analytics