zoukankan      html  css  js  c++  java
  • 第六章 类型和成员基础

                                                     类型和成员基础

    本章阐述了一些比较基础和简单的一些知识,我就不多作解释。

    涵盖了 常量、字段、实例构造器、类型构造器、方法、属性、事件、类型。

    类型的可见性和可访问性:具体查看关键字 public private等等。。。。

     

    分部类: 关键字partial 用于类、结构、接口将源代码分散到各个文件中,并且在编译时候将文件合并在一起。

     

    CLR如何调用虚方法、实例方法、静态方法

    两个指令:

    Call:可以调用虚方法、实例方法、静态方法  

         Call调用静态方法必须指定方法定义的类型。

         Call调用虚方法和实例方法必须指定,引用了对象的变量

    Call指令假定该变量不为null也就是该变量定义了该方法、如果没有定义就需要遍历基类匹配,经常用途是采用非虚方式调用虚方法。

    CallVirt:该指令可以调用实例方法和虚方法、不能调用静态方法、

         CallVirt:调用虚方法和实例方法时候必须指定,引用了对象的变量

         CallVirt:调用非虚实例方法变量的类型指明了,方法的定义类型。

         CallVirt:调用虚实例方法,调用的是方法发出的实际类型。(换言之:实际类型不能为null,JIT会生成代码来验证该变量是否为null ,为null抛出异常,因此callvirt执行比call稍慢因为要检查)

    因此过的虚方法会导致性能的降低、还有一点就是习惯性的将不能继承的类的可见性设置为Sealead提高性能。

  • 相关阅读:
    centos下安装mycat
    centos下安装MySQL5.7
    centos下yum安装wget失败
    开心消消乐刷金币
    myBatis获取批量插入数据的主键id
    nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied)
    Mac下安装JDK 6
    VI下删除所有内容
    Mac下lombok无法安装到eclipse mars
    WEB-INF目录下的文件访问权限
  • 原文地址:https://www.cnblogs.com/LiMin/p/10817637.html
Copyright © 2011-2022 走看看