建设企业网站公,做深度游网站 知乎,网站建设最基础是什么,wordpress个人建站教程目录 核心#xff1a;构造方法#xff08;析构方法#xff09;、实例方法/静态方法1、构造方法#xff08;Constructor#xff09;#xff1a;2、构造方法的重载3、构造方法之间的调用4、静态方法 核心#xff1a;构造方法#xff08;析构方法#xff09;、实例方法/静… 目录 核心构造方法析构方法、实例方法/静态方法1、构造方法Constructor2、构造方法的重载3、构造方法之间的调用4、静态方法 核心构造方法析构方法、实例方法/静态方法
1、构造方法Constructor
构造对象其实就是创建对象。也就是我们在创建对象过程中需要调用的方法叫做构造方法。
研究构造方法主要是研究对象是如何初始化的。
构造方法默认当我们编写一个类的时候如果你没有显式地写出任何构造方法这时候编译器编译的时候会个这个类默认添加一个无参数的构造方法。当然你如果添加了任意形式的构造方法默认的都不会在产生。
构造方法规范
public 类名称[参数1][参数2]...
{}注意构造方法不能有任何返回值。名称必须和类名完全一样。
调试默认构造方法的调用过程发现
第一、首先初始化字段。 第二、初始化有默认值的属性。 第三、执行构造方法。
为什么是这样的顺序
首先搞清楚构造方法是用来初始化的初始化什么可初始化的内容有字段、属性、或其他的相关新的的读取和写入。既然在构造方法中可能调用字段或者属性等因此必须先对字段和属性做初始化。
2、构造方法的重载
也就是我们可以在一个类中添加若干构造方法这些构造方法的名称都是一样的但是方法的参数类型或个数是不一样的。
注意this关键字非常总要this后面可以使用的都是类的成员字段、属性、方法尤其是成员变量和局部变量同名的时候。this区分是非常必要的。
3、构造方法之间的调用
使用:this关键字调用其他的构造方法。注意执行的顺序是先调用内层的构造方法。
方法重载调用是根据参数的类型和个数完全对应来查找的。
三、实例方法
实例方法就是通过对象去调用的方法是我们程序编写的核心内容。
调用形式对象名.实例方法名参数…
定义规范
访问修饰符 返回值类型 方法名称方法参数....
{//方法体....}
访问修饰符public、private…
返回值类型没有返回值用void 其他的返回值类型是我们可以用的所有类型基础数据类型、对象类型
方法名定义使用Pascal命名法尽量用动宾短语或动词
【1】没有返回值、没有参数的的方法 使用场景通常是完成一个固定的任务这个任务不需要参数也不需要返回给调用者数据。 比如做数据的备份、数据的优化、定时的数据报表、相关信息的定时存储等…
【2】没有返回值有参数的方法 使用场景需要完成一个任务提供一些参数但是不需要返回给调用者。
【3】有返回值有参数 使用场景需要完成一个任务提供一些参数同时需要把结果给调用。
命名参数也就是说调用方法的时候给参数前面写上参数名称这样可以不用考虑顺序 使用场景在参数比较多的时候还是有用的。
4、静态方法
静态方法就是使用static修饰的方法不能通过对象去调用而是直接通过类名.方法名的形式去调用。 public static string GetStaticInfo(string equipName){string result $设备ID{EquipID} 设备名称 ${equipName} 压力{Pressure} 采集时间{CollectionTime};return result;}这个会出错。愿意静态方法内部不能“直接调用实例成员字段、属性、方法”
静态方法的特征
所谓静态就是不需要new对象直接通过类完成。这些静态的成员字段、属性、方法在你的程序启动的时候由CLR负责的也就是说随着程序的启动自动初始化完成。
意味着这些静态的成员在程序启动后同时就存在了。
但是实例成员必须是在new之后才存在的所以静态的是不能直接调用实例的原因就是实例的成员并不存在。解决方法就是调用之前必须得到成员的实例对象。
五、总结实例方法和静态方法
实例方法或其他的成员换句话说我们创建的对象在你使用完毕后会被GC垃圾回收机制回收从而释放内存因为我们的程序在不断的创建对象销毁对象。
静态的成员是不会受GC控制的也就是说你的程序不关闭这些成员占用的内存空间永远都不会释放。
所以静态的成员必须慎重使用。使用非常频繁的占用空间又不大的。可以适当使用。