C#学习笔记---修饰符,this关键字和static关键字

1.  C#中类的修饰符:

  public 表示不限制对该类的访问

    protected 表示只能从所在类和所在类派生的子类进行访问

    private 只有其所在类才能访问

  internal 只有对用一个包中的应用程序或库才能访问

   abstract 抽象类不允许建立类的实例

  sealed 密封类不允许被继承

  与Java相比,protected修饰符的定义有所改变。C#中增加的internal,类似于Java中protected的定义。sealed修饰符类似Java中final class的定义。

2.  C#中的this关键字(与Java类似)

  保留字this 仅限于在构造函数类的方法和类的实例中使用它有以下含义

   1.在类的构造函数中出现的this 作为一个值类型它表示对正在构造的对象本身的引用

   2.在类的方法中出现的this 作为一个值类型它表示对调用该方法的对象的引用

   3.在结构的构造函数中出现的this 作为一个变量类型它表示对正在构造的结构的引用

   4.在结构的方法中出现的this 作为一个变量类型它表示对调用该方法的结构的引用

总之,this总代表着对当前对象的引用.

3.  C#中的静态成员和非静态成员

  若将类中的某个成员声明为static,该成员称为静态成员。一般说来,静态成员是属于类所有的,非静态成员则属于类的实例即对象所有的。

  类的非静态成员属于类的实例所有,每创建一个类的实例都在内存中为非静态成员开辟了一块区域。而类的静态成员属于类所有,为这个类的所有实例所共享,无论这个类创建了多少个副本,一个静态成员在内存中只占有一块区域。

时间: 2024-10-09 03:06:06

C#学习笔记---修饰符,this关键字和static关键字的相关文章

C++ Primer 学习笔记_24_类与数据抽象(10)--static 与单例模式、auto_ptr与单例模式、const成员函数、const 对象、mutable修饰符

C++ Primer 学习笔记_24_类与数据抽象(10)--static 与单例模式.auto_ptr与单例模式.const成员函数.const 对象.mutable修饰符 前言 [例]写出面向对象的五个基本原则? 解答:单一职责原则,开放封闭原则,依赖倒置原则,接口隔离原则和里氏替换原则 里氏替换原则:子类型必须能够替换他们的基类型. 设计模式分为三种类型:创建型模式.结构型模式和行为型模式 一.static 与单例模式 1.单例模式 单例模式的意图:保证一个类仅有一个实例,并提供一个访问它

java学习笔记05--字符串 .

java学习笔记05--字符串 . 一.String类 由字符所组成的一串文字符号被称之为字符串.在java中字符串不仅仅是字符数组,而且是String类的一个实例,可以使用String类来构建. 字符串的每个字符是使用Unicode字符来构建. Sring对象上的几个方法: length()       取得字符串的长度 equals()      判断源字符串中的字符是否等于指定字符串中的字符  toLowerCase()      转换字符串中的英文字符为小写 toUpperCase() 

.Net学习笔记----2015-07-21(C#基础复习07,关键字、访问修饰符)

1.new关键字: 1).创建对象 2).隐藏从父类继承过来的成员 什么是面向对象? 一种分析问题的方式(增强了程序的可扩展性) 面向对象的三大特性:封装.继承.多态 类?对象?类和对象的区别? *类是模子,确定对象将会拥有的特征(属性)和行为(方法) *对象是一个你能够看的到.摸得着的具体实体---万物皆对象 ***类是模具,创建对象的模具,抽象的. 1).类是一种数据类型,用户自定义的数据类型 2).类的组成:字段.属性.方法.构造函数等 ***对象是具体的,是类的具体实例.对象具有属性(特

Java中类的继承,属性和方法的四种修饰符的作用范围,final关键字,java的三大特点中的2个:封装和多态,以及多态的一个设计模式,模板方法模式(template method)

(一)Java中的继承: 关于继承,在Java中类的继承只能是单继承,不像C+++那样灵活,可以多继承,多继承的后果就是各种关系乱套,就相当于一个孩子有2个母亲一样,社会关系的复杂,不利于程序后期的开发和维护,所有Java中的类是只能单继承,通过接口来实现多继承:对于接口的话,是可以多继承的,例如:A接口可以同时继承接口B和接口C,但是有一点要注意,就是实现接口A的类必须要实现接口A.B.C中所有的抽象方法:接口之所以可以多继承,就是因为接口结构比较简单. 继承是通过extends关键字来实现,

Java——面向对象进阶(final关键字,static关键字,匿名对象,内部类,包的声明与访问,四种访问修饰符,代码块)

一.final关键字 继承的出现提高了代码的复用性,并方便开发.但随之也有问题,有些类在描述完之后,不想被继承,或者有些类中的部分方法功能是固定的,不想让子类重写.可是当子类继承了这些特殊类之后,就可以对其中的方法进行重写,那怎么解决呢? 要解决上述的这些问题,需要使用到一个关键字final,final的意思为最终,不可变.final是个修饰符,它可以用来修饰类,类的成员,以及局部变量. 1.修饰类 被final修饰的类不可以被继承,但是可以继承其他类. class Yy {} final cl

学习C#修饰符:类修饰符和成员修饰符

C#修饰符之类修饰符:public.internal. partial.abstract.sealed.static C#修饰符之成员修饰符:public.protected.private.internal.sealed.abstract.virtual.override.readonly.const Public:最开放,所有的本程序集以及其他的程序集里面的对象都能够访问 Protected:比较开放,自身成员以及子类成员可访问 Private:只有自身成员才能够访问 Internal:本程

c语言修饰符总结const、static、volatile、auto、extern、register

写在前面 今天下午一个同事问「register」关键字是什么作用?噢,你说的是「register」啊,它的作用是--脑袋突然断片儿,我擦,啥意思来着,这么熟悉的陌生感.做C语言开发时间也不短了,不过好像没有用到过「register」,但作用还是知道的,一下子想不起来了,一万个草泥马飞奔过来. 其实C语言中除了register外,还包含常见的const.static.volatile.auto.extern等修饰符,现在一起再总结一下好了. register 修饰符 register,寄存器变量,

public等访问修饰符和final,static的用法

一.访问修饰符 1.public:表明该数据成员.成员函数是对所有用户开放的,所有用户都可以直接进行调用 2.private:表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用. 3.protected:对于子女.朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private. 对比Table: 作用域 当前类 同一package 子孙类 其他package

4.6-全栈Java笔记:THIS关键字和STATIC关键字

this关键字 对象创建的过程和this的本质 构造方法是创建java对象的重要途径,通过new关键字调用构造器时,构造器也确实返回了该类的对象,但这个对象并不是完全由构造器负责创建的.创建一个对象分为如下四步: 1. 分配对象空间,并将对象成员变量初始化为0或空 2. 执行属性值的显示初始化 3. 执行构造方法 4. 返回对象的地址给相关的变量 this的本质就是"创建好的对象的地址"!  由于在构造方法调用前,对象已经创建.因此,在构造方法中也可以使用this代表"当前对