博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第六章 类型和成员基础
阅读量:6801 次
发布时间:2019-06-26

本文共 647 字,大约阅读时间需要 2 分钟。

                                                 类型和成员基础

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

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

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

 

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

 

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

两个指令:

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

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

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

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

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

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

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

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

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

转载于:https://www.cnblogs.com/LiMin/p/10817637.html

你可能感兴趣的文章
【题解】【区间】【二分查找】【Leetcode】Insert Interval & Merge Intervals
查看>>
Hello,C++(7)函数模板和类模板
查看>>
网站使用https协议
查看>>
git 使用
查看>>
对软件工程的一点认识
查看>>
似然函数的概念【转载】
查看>>
认识IPv4分组
查看>>
第七篇、微信小程序-video组件
查看>>
(转)IC验证概述
查看>>
[bzoj1924] 所驼门王的宝藏
查看>>
form表单属性及表单分组
查看>>
<dxwgv:ASPxGridView
查看>>
小程序中通过判断id来删除数据,当数据长度为0时,显示隐藏部分(交流QQ群:604788754)...
查看>>
php把数据转换为json格式
查看>>
Java线程(学习整理)--2---加入另一个线程join
查看>>
replace into 浅析之一
查看>>
软件工程15 个人阅读作业2—提出问题
查看>>
Windows Azure Traffic Manager的新的管理API
查看>>
1.5站立会议之个人
查看>>
remote机制的AdditionalFields
查看>>