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,一经查实,立即删除!

相关文章

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

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

【P2-7】ESP8266 WIFI模块在AP模式下实现UDP与电脑/手机网络助手通信——UDP数据透传

前言:完成ESP8266 WIFI模块在AP模式下实现UDP与电脑/手机网络助手通信——实现UDP数据透传 AP模式,通俗来说模块可以发出一个WIFI热点提供给电脑/手机连接。 UDP协议,是传输层协议,UDP没有服务器和客户端的说法。 演示视频: ESP8266 WIFI模块在AP模式下实现UDP与电脑/手机…

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

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

SpringBoot+Shirp的权限管理

目录 怎么实现动态菜单 1.html页面 2.获取动态菜单 Shiro权限刷新 1. 配置Shiro 2. 创建权限刷新服务 3. 调用权限刷新服务 注意事项 如何更新ShiroFilter初始权限 怎么实现动态菜单 1.html页面 <ul class"nav side-menu"><!--第一重循环&#xf…

hunyuan-DiT模型部署指南

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

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

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

安全性测试

安全性测试评估系统在面对各种安全威胁时的防护能力和安全性的过程。以下是安全性测试的一些主要方面和方法&#xff1a; 1. 身份验证和授权测试 测试目标 确保系统能够正确验证用户的身份&#xff0c;并根据用户的权限授予相应的访问权限。测试方法 弱密码测试&#xff1a;尝…

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

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

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

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

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

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

什么是信息安全管理体系?

信息安全管理体系&#xff08;ISMS&#xff0c;Information Security Management System&#xff09;是组织在整体或特定范围内建立的信息安全方针和目标&#xff0c;以及完成这些目标所用的方法和手段所构成的体系。以下是对ISMS的详细解释&#xff1a; 一、定义与背景ISMS是信…

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

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

Dockerfile文件编写

1、打nginx原始包 登录后复制 ROM nginxENV LANG zh_CN.UTF-8 ENV LC_ALL zh_CN.UTF-8 ENV TZ Asia/Singapore# 设置时区&#xff0c;同样保持在一层 RUN ln -sf /usr/share/zoneinfo/${TZ} /etc/localtime && \echo "${TZ}" > /etc/timezoneRUN apt-get …

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

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

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

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

Android 字节飞书面经

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

正则表达式-常用语法梳理

正则表达式-知识点 “ 在之前呢&#xff0c;我曾经因为工作需要&#xff0c;需要对一部分特定业务数据&#xff0c;提取数字部分&#xff0c;从而整理过一版正则表达式的基础知识 ” “ 最近&#xff0c;在做一些语音质检的规则配置&#xff0c;必不可免就需要用到正则表达式&a…

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

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

elastic search查找字段的方法

一,比如:elastic search 查找id为“ien9292voewew”的方法 此id为主键id,意思就是唯一id,在ES中是_id, 在 Elasticsearch 中,如果你想要查找特定 ID 的文档,可以使用 _get API。以下是如何通过 RESTful 请求或使用 Python 客户端来查找 ID 为 ien9292voewew 的文档的方…

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

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