编辑
2026-06-16
编程语言
00

静态属类不属对象,调用只用类点名。

实例必须对象创建,可以访问所有成员。

静态不能调实例,除非传入实例参。

工具方法用静态,操作状态必实例。

using System; public class Circle { private static double pi = 3.14159; // 静态:所有圆共享 private double radius; // 实例:每个圆有自己的半径 // 静态方法:不需要具体圆对象就能计算 public static double GetPi() { return pi; } // 静态方法:纯工具计算 public static double CalculateArea(double r) { return pi * r * r; } // 构造函数 public Circle(double r) { radius = r; } // 实例方法:依赖具体的radius public double GetArea() { return pi * radius * radius; // 可以访问静态字段pi } public double GetCircumference() { return 2 * pi * radius; } } class Program { static void Main() { // 调用静态方法 Console.WriteLine($"PI = {Circle.GetPi()}"); double areaGeneric = Circle.CalculateArea(5.0); // 创建实例 Circle c1 = new Circle(3.0); Circle c2 = new Circle(5.0); // 调用实例方法 Console.WriteLine($"c1面积 = {c1.GetArea()}"); // 28.27 Console.WriteLine($"c2面积 = {c2.GetArea()}"); // 78.54 // 错误:不能从静态方法中调用实例方法(除非通过对象) // StaticMethodDemo(); } static void StaticMethodDemo() { // ❌ 错误:不能在静态方法中直接调用实例方法 // GetArea(); // ✅ 正确:先创建对象再调用 Circle c = new Circle(2.0); c.GetArea(); } }
编辑
2026-06-16
编程语言
00
编辑
2026-06-12
编程语言
00
编辑
2026-06-08
健身
00

应该是健身两个月,但是第一次用blog记录,就当第一天把,虽然之前体重高达190.

首要目标

170斤

今日体重177斤.

健康饮食,好像少吃了点膳食纤维,一会去菜市场补一根黄瓜.

最近忙着准备实习,没时间健身就只能当减肥了.

论:一个大学生如何便宜的吃减脂餐.

编辑
2026-06-08
编程语言
00

成员变量:

在此之前问一句:何为封装?

就是:隐藏对象内部数据(private),通过属性或方法(public)控制外部访问,从而保护对象状态的正确性。

就是:隐藏对象内部数据(private),通过属性或方法(public)控制外部访问,从而保护对象状态的正确性。

相关信息

结构体,枚举,class一般都放在namespace下面.

基本规则:

基本规则:

1.要声明在类语句块中

2.用来描述对象的特征.

3.可以是任意变量类型

4.数量无限制

5.是否赋值根据需求来定.

结构体和类的初始化对比

一个小对比:

struct Person { public int Id; } class person { public int Id = 0; }

结构体不能直接对成员变量初始化,但class就可以.

而且在引用的时候class必须实例化,但结构体就不用:

class Person { public int Age; } Person p; // 没有 new p.Age = 18; // ❌ 运行时错误:NullReferenceException

初始化和实例化的例子:

Play p1 = new Play();//实例化,创建了一个对象. p1.index = 0;//初始化,也就是赋值 p1.Name = "Player1";//初始化. 实例化:创建对象(new) 初始化:设置对象的初始状态(赋值/构造函数) 但实例化,会自动进行“默认初始化” | 类型 | 默认值 | | ------ | ----- | | int | 0 | | float | 0f | | bool | false | | string | null | |引用类型 | null |

可以是任意变量类型:

enum E_Sex { man, womn } struct Position { } class Pet { } class Person { public string name;//字符串类型 E_Sex sex;//枚举类型 Person GirlFriend;//是个class,变量名字可以和class相同. Person[] Friends; Position pos;//结构体类型 Pet pet;//也是一个class类型. }

观察一下上面,发现class,可以在里面声明一个与类名相同的变量,比如Person GirlFriend;,

在结构体只有,构造函数名字能和结构体名字相同.

这就引出了一个问题,和类名相同的成员变量不能在class里对其实例化,但在外面可以.原因:

class Person { Person GirlFriend=new Person(); }