C#静态类的继承等疑惑解答

Java中的static关键字几个注意点 因为类成员是属于类的,类成员的作用域比实例成员的作用域更大,完全可能出现类成员已经初始化完成,但实例成员还不曾初始化的情况,如果允许类成员访问实例成员将会引起大量错误。在Java类里只能包含成员变量、方法、构造器、初始化块、内部类(包括接口、枚举)5种成员,而static可以修饰成员变量、方法、初始化块、内部类(包括接口、枚举),也就是除了构造器都可以修饰。static关键字可以修饰成员变量、成员方法、初始化块、内部类,被static修饰的成员是类的成员,它属于类、不属于单个对象。... 阅读详情

1.静态类可以从静态类中派生吗?

静态类不允许从静态类中进行派生,也不允许从非静态类中派生,静态类必须从对象派生(个人觉得可能静态类不允许继承类),不允许有非静态的构造函数。 下面代码会报错

    public static class staFun
    {
        static staFun()
        {
            Console.WriteLine("this is staFun");
        }
    }

    public static class staFunSon : staFun//静态类不允许从静态类中派生
    {
        static staFunSon()
        {
            Console.WriteLine("this is staFunSon");
        }
        staFunSon(int a)//静态类不允许有非静态构造函数
        {
 
        }
    }

在这里插入图片描述

public class staFun
{
    //下面的静态构造函数无论是否注释均报错
    //static staFun()
    //{
    //    Console.WriteLine("this is staFun");
    //}
}
public static class staFunSon : staFun
{
    static staFunSon()
    {
        Console.WriteLine("this is staFunSon");
    }
}

在这里插入图片描述

2.非静态类的静态构造函数会被子类继承吗?

非静态类中的静态构造函数不会被子类继承,但为了对父类初始化,所以需要执行父类的构造函数。(注意继承的概念:当类与类之间实现继承的时候,子类可以将它的直接基类的所有成员当做自己的成员,除了类的静态构造方法、实例构造方法和析构方法。)

3.静态类初始化和不初始化直接调用有区别吗?

当两个类均含有静态构造函数并互相继承的时候,初始化后进行再进行调用和直接类名.静态方法是有区别的

如果直接通过子类类名.父类方法进行调用父类方法,那么子类中的静态构造函数不会执行。直接对父类进行初始化然后执行父类的方法。如果对子类进行初始化,然后调用,vs会自动在后台先对子类进行初始化,然后对父类初始化。

4.静态类中可以有实例成员吗?

静态类中不允许有实例成员,只允许有静态方法 静态构造函数 静态成员。

Ubuntu20.04下SRS流媒体服务器的安装与开机自启动优化指南 本文详细介绍了在Ubuntu20.04系统下安装SRS流媒体服务器并优化开机自启动的完整指南。从基础环境准备、服务管理方案对比到systemd自启动深度优化,提供了实用的配置技巧和排查方法,帮助用户快速搭建稳定的流媒体服务环境。特别推荐使用systemd方案实现高效的自启动管理。 阅读详情

相关推荐

schrodinger 薛定谔

链接: https://pan.baidu.com/s/1Duh4GsoytIklvZp7TdHpWg 密码: wmr1 Linux系统版 进入 Schrodinger_Suites_2021-2_Linux-x86_64 sudo ./INSTALL 中间按默认的来即可,也可以自己调整安装目录。安装目录一定要记住。 安装完,把patcher 拷贝到安装目录 sudo ./patcher 点击Patch即可。 启动程序,进入安装目录 ./maestro ...

周迪新的博客 1万+

静态类与非静态类

静态类     静态类与非静态类的重要区别在于静态类不能实例化,也就是说,不能使用 new 关键字创建静态类类型的变量。在声明一个类时使用static关键字,具有两个方面的意义:首先,它防止程序员写代码来实例化该静态类;其次,它防止在类的内部声明任何实例字段或方法。     静态类是自C# 2.0才引入的,C# 1.0不支持静态类声明。程序员必须声明一个私有构造器。私有构造器禁止开发者

似水流年 2969

OriginPro实战:5步搞定碳材料拉曼光谱D峰G峰分析(附完整数据处理流程)

本文详细介绍了使用OriginPro进行碳材料拉曼光谱D峰G峰分析的完整流程,涵盖数据预处理、多图层可视化、高精度分峰拟合等关键步骤。特别针对材料科学研究中的基线漂移、多峰重叠等问题提供专业解决方案,帮助研究者快速完成从原始数据到科研级图表的全流程分析,提升碳材料表征效率与准确性。

vodka的博客 942

C#静态类

static 关键字定义不可实例化的类。该关键字只能用于类,不能应用于结构(值类型) 静态类必须直接从基类的System.Object派生,从其他任何基类派生都没有意义。继承只试用于对象,但静态类不能实例化。 静态类不能实现任何接口,这是因为只有使用类的实例时,才可调用类的接口方法。 静态类只能定义静态成员,任何实例成员都会导致编译器报错。 静态类不能作为字段、方法参数或局部变量使用。 ...

qq_42127428的博客 583

【STC32G12K128开发板】——从零到一:Keil C251开发环境全攻略

本文详细介绍了为STC32G12K128开发板搭建Keil C251开发环境的完整流程。从环境准备、软件安装、驱动配置到创建第一个工程并下载程序,提供了避坑指南和实用技巧,帮助开发者高效入门这款基于251内核的国产32位单片机开发。

weixin_29192141的博客 362

电容式麦克风:从原理到实际电路波形解析

本文深入解析电容式麦克风的工作原理,从核心的振膜与背板结构、电荷锁定机制到场效应管放大器的作用。通过实物拆解与等效电路分析,阐明声音振动如何转换为电压信号,并指导如何用示波器实测波形,直观展现声电转换过程,适合电子爱好者和音频技术学习者。

Black的专栏 1078

静态类内容总结

在使用静态构造函数的时候应该注意几点: 1、不能继承任何类,也不能被任何类继承;(静态类从object派生来) 2、静态类中不能声明费静态类成员; 3、C#新特征:编写无参数的静态构造函数,这种构造函数只执行一次,不同于实例构造函数(实例构造函数:只要创建类的对象,就会执行)。在C#中,通常在第一次调用类的任何成员之前,执行静态构造函数。 4、静态构造函数内有访问修饰符。(我认为比较孤

VR之星的博客 282

CGAL 网格等高线计算

CGAL 网格等高线计算

dayuhaitang1的博客 449

面向对象基础——静态成员、静态类

1. 静态方法 VS 实例方法    2. 静态类   (1)常见的静态类:Math、Console、Convert   (2)静态类中只能包括静态成员、静态构造函数、常量成员,不能有实例成员,不能有普通构造函数   (3)静态构造函数不能有参数、不能有访问修饰符(默认为private)     静态构造函数的作用:用来初始化静态成员     在加载类的时候使用,只会执行一...

diaoze7064的博客 247

华为OD机试真题 新系统2026-04-01 Java&Go 实现【勇攀数字高峰】

请你在给定的数字地形图中寻找登山路径,数字代表当前位置的海拔高度,要求从最低海拔出发,不断攀登,最终到达最高山峰。你需要寻找所有满足条件的登山路径。地图已经保证最低海拔和最高山峰都只有一个。

MISAYAONE的博客 610

【100%通过率】华为OD机试真题 C 实现【最多等和不相交连续子序列】【2022.11 Q4 新题】

给定一个数组,我们称其中连续的元素为连续子序列,称这些元素的和为连续子序列的和。数组中可能存在几组连续子序列,组内的连续子序列互不相交且有相同的和。求一组连续子序列,组内子序列的数目最多。输出这个数目。

MISAYAONE的博客 1万+

静态类

静态类必须直接从System.Object派生,从其他任何基类派生没有任何意义。无法创建静态类的实例 静态类不能实现任何接口,这是因为只有使用类的一个实例时,才可以调用类的接口方法 静态类只能定义静态成员(字段、方法、属性和事件),任何实例成员都将导致编译器报错 静态类不能作为字段、方法参数或者局部变量使用,因为它们都代表引用了一个实例的变量 C#编译器将静态类标记为...

weixin_30312659的博客 121

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

C#基础 static class 静态类不能被继承

 .NET Framework : 4.7.2        IDE : Visual Studio Community 2019         OS : Windows 10 x64     typesetting : Markdown         blog : blog.youkuaiyun.com/yushaopu        gi...

心少朴 2157

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

继承与派生(6.派生类中访问静态成员)【非重点】

知识点1.静态成员的共享 基类定义的静态成员,将被所有的派生类所共享,并且基类和派生类共享基类中的静态成员 知识点2.静态成员的访问权限 静态成员的访问权限在类的层次体系中各不相同,要根据以下两点来确定静态成员的访问权限: 1.静态成员自身的访问权限(共有,私有,保护) 2.派生类的继承方式(不同的继承方式静态成员继承后的访问权限不同) 知识点3.访问静态成员的2种访问格式 1.基类的类名::静...

qq_45739945的博客 923

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

C#之静态类、抽象类与密封类、抽象类与接口、字符串

2.静态类的内存存放在静态全局区,静态全局区的内存是在整个程序结束时释放的,如果我们使用一个类来继承一个静态类,那么派生类被释放时会调用基类的析构函数,则会提前释放静态的内存,这种情况是不被允许的,因此。答案是肯定的,使用static修饰一个普通类的构造函数是C#中特有的,静态构造函数不能带有参数与访问权限修饰符,同时一个类只能有一个静态构造函数,并且不能被显式的调用。4.继承接口的类必须实现接口中的所有成员,如果一个类继承了多个接口,那么这个类需要实现这些接口的所有成员。

m0_64163189的博客 718

面向对象(static静态、内部类)

static静态属性、静态方法、静态初始化块都与对象无关!内部类---

有请就会赢的博客 1049

C#学习笔记之——抽象类、静态成员、静态属性、静态类和静态构造方法

一、抽象方法 抽象方法是一种特殊的虚方法,它只起声明作用,所以只加“ ; ”号,一定不能带实现。用抽象方法就是因为在类中可以不用实现的时候,没必要写一个虚方法。 抽象方法要用abstract修饰。访问修饰符不能用private! 二、抽象类 有抽象方法的类一定是在抽象类中。但是在抽象类中不一定要有抽象方法。同样的也是用abstract修饰符。 抽象类不能被实例化。 抽象类可以写虚方法,...

Alina_catty的博客 847

静态类和静态类成员(C# 编程指南)

静态类和静态类成员(C# 编程指南)(2009-03-25 11:51:48)标签:技术  分类:技术文章静态类与非静态类基本相同,但存在一个区别:静态类不能实例化。也就是说,不能使用 new 关键字创建静态类类型的变量。因为没有实例变量,所以要使用类名本身访问静态类的成员。例如,如果名为 UtilityClass 的静态类有一个

Joetao的专栏 1230

C#中静态类与非静态类的区别

 静态与非静态的区别 1、用static(静态) 关键字来区分; 在非静态类中既可以有非静态成员(实例成员)也可以有静态成员; 在静态类中只能有静态成员存在; 2、调用实例成员时,必须使用  对象名.实例成员       调用静态成员时,必须使用  类名.静态成员 3、静态函数中只能访问静态成员,不允许访问实例成员;       实例函数中既可以访问静态成员,也可以使用实例成员; 4、静态...

勿忘初心方得始终 7845
上一篇: Linq 多表连接查询join
下一篇: .NET(C#) Nullable(可空类型)通过扩展方法传委托参数调用方法
.NET跨平台
博客等级 码龄15年 6066粉丝 738原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值