1、密封类
和密封方法类似,在类前加上密封关键词sealed后就能定义一个密封类。密封类无法被继续继承。
sealed class a1:aa//密封类无法被继承
{//密封方法只能去修饰重写后的方法
//sealed修饰普通方法会报错
public sealed override void fangfa()
{
}
}
2、子类构造
子类构造:在子类中调用父类的构造函数。
在子类继承父类后创建一个构造函数,使用base继承父类构造函数的参数。
class Father
{
int a, b;
public Father(int a,int b)
{
Console.WriteLine("父类构造函数");
this.a = a;
this.b = b;
Console.WriteLine(a+b);
}
}
class Son:Father
{
public Son(int a,int b):base(a,b)//base传参的底层逻辑相当于直接在对应字段进行赋值
{
Console.WriteLine("子类构造函数");
}
}
3、向上引用
父类和子类有相同的一个方法,通过向上引用会先调用父类的方法。
class Fu
{
public void Show ()
{
Console.WriteLine("父类方法");
}
}
class Zi:Fu
{
public new void Show()//此时调用时指向父类方法
{
Console.WriteLine("子类方法");
}
}
如果想通过父类调用子类的方法,那么就需要用上虚方法virtual和重写override
4、静态关键字static
在哪用
1.类的关键字class之前使用
2.在方法的访问修饰符后使用
3.字段的数据类型之前
当类是静态类时,静态类中的成员就必须是静态的,不能包含其他类型的成员。
普通类中可以定义静态的字段和方法。
在调用静态成员时直接通过类名.来调用静态成员。
internal class Program
{
static void Main(string[] args)
{
//
//1.调用静态类中的静态成员
int a1 = c1.i; //通过类名.来调用静态成员
c1.Fangfa(); //与调用字段一致
//2.调用普通类中的静态成员
//与上方一样不需要进行实例化,可直接通过类名来对静态成员进行调用
}
}
//创建一个静态类
//静态类中不允许出现非静态字段和方法
public static class c1
{
//声明字段和方法
public static int i;//静态类中只能声明静态字段
public static void Fangfa()//只能声明静态方法
{
}
}
public class PuTong
{ //普通类中可以声明静态字段和方法
//声明静态字段和方法
public static int i;
public static void M()
{
}
}
5、时间类型DateTime
DateTime.Now; 获取本地时间,即自己计算机上的时间。
DateTime d2 = new DateTime(2026, 2, 17, 17, 05, 46); 自己定义一个时间类型,参数为年月日,时分秒
计算两个时间的间隔 TimeSpan t1 = d1 - d2;
//只获取
Console.WriteLine(t1.Days);//天数
Console.WriteLine(t1.Minutes);//分钟
d1.DayOfYear 当前是该年的第几天
d1.DayOfWeek 当前是该年的第几周
static void Main(string[] args)
{//日期与时间
//获取当下的时间点
DateTime d1= DateTime.Now;//获取本地时间,自己计算机上的时间
Console.WriteLine(d1);
//自己定义时间
DateTime d2 = new DateTime(2026, 2, 17, 17, 05, 46);//参数为年月日,时分秒
Console.WriteLine(d2);
//计算两个时间的间隔
TimeSpan t1 = d1 - d2;
Console.WriteLine(t1);
//只获取
Console.WriteLine(t1.Days);//天数
Console.WriteLine(t1.Minutes);//分钟
//计算100天后的日期
DateTime d4 = DateTime.Now.AddDays(-100);
TimeSpan t5 = d4 - d2;
if (t5.Days>=0)
{
Console.WriteLine("过年了");
}
else
{ Console.WriteLine("没过年"); }
Console.WriteLine(d1.DayOfYear);//当前是该年的第几天
Console.WriteLine(d1.DayOfWeek);//当前是该年的第几周
}

3万+

被折叠的 条评论
为什么被折叠?



