C#-类:声明类、声明类对象

一:类的声明

class 类名
{//特征——成员变量//行为——成员方法//保护特征——成员属性//构造函数和析构函数//索引器//运算符重载//静态成员
}
  1. 类名:帕斯卡

  2. 同一个语句块中的不同类 不能重名

二:声明类对象

2.1 类的声明 ≠ 类对象的声明

类的声明:声明对象的模板,用来抽象(形容)事物。即声明一个自定义类型

类对象的声明:表示现实中的对象个体

类创建对象的过程 一般称为实例化对象,是在声明变量

类对象 都是引用类型的

2.2 实例化对象的语法
Person p;                   //声明对象,只是取了一个名字。在栈上有空间,堆上没有
Person p2 = null;           //null 代表空 不分配堆内存空间。在栈上有空间
Person p3 = new Person();   //实例化一个对象,可直接的使用
Person p4 = new Person();   //相当于又是一个人对象 
Peron p5 = new Person(){"小红",12};//调用对应的构造函数
//只有new了才能点出其成员变量错误使用
Customer c1=null;
c1.name="张三"; //写代码时不报错,运行时会出现异常

 2.3 引用类型的赋值和调用

类对象是引用类型

所有的引用类型,要么在定义时赋值,要么在构造(new)时赋值

如果没有new,那就是null,里面无任何数值,因此无法调用其属性。

null为空引用,会出现空指针异常

Program P;异常 P.Test(); P未进行初始化

        解决方法: Program P = new Program() 或 Program P=null;

未进行赋值,编译器会报错而赋空值在调用其属性后,运行会中断

混引用,不能调用任何成员

private T[] data=new T[0]; 被赋值,仅长度为空,可调用

private T[] data=null; 被赋值,但不可调用

private T[] data; 先定义,再于构造时赋值

2.4 对象的构造和赋值--引用的改变
Customer s1=new Customer{"张三","三里屯",17};
Customer s2=s1;   //只有在new后才会在堆中开辟内存,因此 s2=s1,赋的是引用
s2.age=20;        //此时s1的数据也被修改
s1=null;          //空间回收,s1为空引用

 三:类对象(引用类型)的声明和调用

类对象(引用类型)的声明和调用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/59324.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

求平面连接线段组成的所有最小闭合区间

这个功能确实非常实用,我在过去开发地面分区编辑器时就曾应用过这一算法。最近,在新产品的开发中再次遇到了类似的需求。尽管之前已经实现过,但由于长时间未接触,对算法的具体细节有所遗忘,导致重新编写时耗费了不少时…

金箍棒变化-第15届蓝桥杯国赛Scratch初/中级组真题第1题

[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第193讲。 如果想持续关注Scratch蓝桥真题解读,可以点击《Scratch蓝桥杯历年真题》并订阅合集,…

hunyuan-DiT模型部署指南

一、介绍 Hunyuan-DiT是由腾讯混元推出的扩散模型,支持中文和英文双语输入,其他开源模型相比,Hunyuan-DiT 在中文到图像生成方面树立了新的水平。 二、部署流程 环境要求: 所需的最小 GPU 内存为 11GB, 建议使用具…

如何彻底删除gitbash中所有的命令记录、以及彻底删除Windows powerShell或者cmd中的所有命令记录

文章目录 1. 文章引言2. 彻底删除gitbash中所有的命令记录3. 彻底删除Windows powerShell或者cmd中的所有命令记录1. 文章引言 有时,我们使用外部电脑从gitbash中下载代码,假设使用history -c命令: 可以清除当前弹框的历史记录,但也无法彻底删除命令记录。打开gitbash后,通…

利用 Feather 格式加速数据科学工作流:Pandas 中的最佳实践

利用 Feather 格式加速数据科学工作流:Pandas 中的最佳实践 在数据科学中,高效的数据存储和传输对于保持分析流程的流畅性至关重要。传统的 CSV 格式虽然通用,但在处理大规模数据集时速度较慢,特别是在反复读取和写入时。幸运的是…

Redis-“自动分片、一定程度的高可用性”(sharding水平拆分、failover故障转移)特性(Sentinel、Cluster)

文章目录 零、写在前面一、水平拆分(sharding/分片)、故障转移(failover)机制介绍水平拆分(Sharding)故障转移机制 二、Redis的水平拆分的机制有关的配置1. 环境准备2. 配置文件配置3. 启动所有Redis实例4. 创建集群5. 测试集群读/写6. 集群管理 三、Red…

Linux SSH免密登入以及配置脚本

一、ssh原理简单介绍 客户端生成一对公钥和私钥,并将自己的公钥发送到服务器上 其中公钥用来加密,私钥用来解密。 二、ssh免密登入实现步骤详解 我这就以服务器controller和客户端compute来做为例子 2.1、首先在controller上输入ssh-keygen -t rsa …

景联文科技医疗数据处理平台:强化医疗数据标注与管理,推动医疗数字化新篇章

随着医疗科技快速进步与广泛应用,医疗信息的规模正在迅速扩张,如何有效管理这些医疗数据成为了关键议题。 医疗数据不仅包括传统的纸质病历,还有电子病历、实验室检测结果、医学影像等多样化的数字信息。为确保这些数据能为临床决策、科研分析…

react jsx基本语法,脚手架,父子传参,refs等详解

1,简介 1.1 概念 react是一个渲染html界面的一个js库,类似于vue,但是更加灵活,写法也比较像原生js,之前我们写出一个完成的是分为html,js,css,现在我们使用react库我们把html和js结…

物联网的智联项目是如何设计出来的?设计项目整个细节应该注意什么?

设计一个物联网的智联项目通常包括以下步骤: **一、需求分析** 1. 明确项目的目标和预期效果,例如是实现智能家居的自动化控制,还是工业设备的远程监测等。 2. 确定项目的应用场景和用户群体,了解他们的具体需求和使用习惯。 …

Android 字节飞书面经

Android 字节飞书面经 文章目录 Android 字节飞书面经一面二面 一面 1. 线程是进程的一部分,一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。 2. 根本区别:进程是操作系统资源分配的基本单位,…

获取SKU详细信息API返回值说明

在电子商务平台中,SKU(Stock Keeping Unit,库存量单位)是用于追踪库存的唯一标识符。对于开发者来说,了解如何通过API获取SKU的详细信息是至关重要的。本文将详细介绍如何使用API获取SKU详细信息,并提供相应…

本地部署bert-base-chinese模型交互式问答,gradio

首先下载bert-base-chinese,可以在 Huggingface, modelscope, github下载 pip install gradio torch transformers import gradio as gr import torch from transformers import BertTokenizer, BertForQuestionAnswering# 加载bert-base-chinese模型和分词器 mod…

[spring源码]spring推断构造方法

前言 Spring中的一个bean,需要实例化得到一个对象,而实例化就需要用到构造方法。 一般情况下,一个类只有一个构造方法: 要么是无参的构造方法要么是有参的构造方法 如果只有一个无参的构造方法,那么实例化就只能使…

【Sublime Text】格式化Json和XML

无package control解决方案 删除文件中的package control这一行并保存 下载 下载中

【CSS】——基础入门常见操作

阿华代码,不是逆风,就是我疯 你们的点赞收藏是我前进最大的动力!! 希望本文内容能够帮助到你!! 目录 一:CSS引入 二:CSS对元素进行美化 1:style修饰 2:选…

Chrome(谷歌浏览器中文版)下载安装(Windows 11)

目录 Chrome_10_30工具下载安装 Chrome_10_30 工具 系统:Windows 11 下载 官网:https://chrome.google-zh.com/,点击立即下载 下载完成(已经下过一遍所以点了取消) 安装 解压,打开安装包 点击下一步…

js中怎么把excel和pdf文件转换成图片打包下载

index.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>文件转图片工具</title><!-- 本…

【Java】异常处理见解,了解,进阶到熟练掌握

各位看官早安午安晚安呀 如果您觉得这篇文章对您有帮助的话 欢迎您一键三连&#xff0c;小编尽全力做到更好 欢迎您分享给更多人哦 大家好我们今天来学习Java面向对象的的抽象类和接口&#xff0c;我们大家庭已经来啦~ 目录 1.(throws和throw&#xff09;我们不管这个异常&…

使用Django REST framework构建RESTful API

使用Django REST framework构建RESTful API Django REST framework简介 安装Django REST framework 创建Django项目 创建Django应用 配置Django项目 创建模型 迁移数据库 创建序列化器 创建视图 配置URL 配置全局URL 配置认证和权限 测试API 使用Postman测试API 分页 过滤和排序…