首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从类的字符串名称,我可以得到一个静态变量?

从类的字符串名称,我可以得到一个静态变量。这个静态变量可以用来存储类的名称,以便在运行时动态地创建类的实例。这个静态变量可以在类的构造函数中被赋值,也可以在类的运行时函数中被使用。

例如,假设我们有一个名为"MyClass"的类,我们可以在类的定义中添加以下代码:

代码语言:csharp
复制
public class MyClass {
    public static string className = "MyClass";
    
    public MyClass() {
        Console.WriteLine(className);
    }
}

在上面的代码中,我们定义了一个静态变量"className",并将其初始化为"MyClass"。然后,我们在类的构造函数中使用了"className"变量,以便在运行时输出类的名称。

如果我们在运行时创建类的实例,我们可以使用以下代码:

代码语言:csharp
复制
MyClass myClass = new MyClass();

在上面的代码中,我们创建了一个名为"myClass"的MyClass类的实例。在构造函数被调用时,静态变量"className"将被赋值为"MyClass",并将被输出到控制台。

因此,从类的字符串名称,我们可以得到一个静态变量,以便在运行时动态地创建类的实例。这个静态变量可以在类的构造函数中被赋值,也可以在类的运行时函数中被使用。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 这里有线程池、局部变量、内部类、静态嵌套一个莫得名堂引用,哦,还有一个坑!

    别想复杂了,这个东西和刚刚 Object 一样,同样是个局部变量,肯定可以被回收。 但是接下来就要开始搞事情了: 让线程池执行一个任务,相当于激活线程池,但是这个线程池还是一个局部变量。...然后要引出问题就出来了:这也是个局部变量,它为什么就不可以被回收呢? 为什么 你知道线程池里面有活跃线程,所以直觉上讲应该是不会被回收。 但是证据呢,你得拿出完整证据链来才行啊。...Outer 一个内部类,所以它可以直接访问 Outer 变量和方法。...答案我们还是可以 class 文件中找到: 当我们给 inner 加上 static 之后,它就不在持有外部内引用了。 此时我们又可以得到一个结论了: 静态内部类不持有外部类引用。...方案在前面说了,用静态内部类: 只是在 Inner 上加上 static 关键字,不需要其他任何变动,问题就得到了解决。

    55010

    JavaAPI文档

    大家好,又见面了,是你们朋友全栈君。...Java API文档 Scanner 引用类型一般使用步骤: 1.导包 import 包路径.名称; 如果要使用目标,和当前位于同一个包下,可以省略导报语句不写。...int num = sc.nextInt(); 获取键盘输入一个字符串: String str = sc.next(); 匿名对象 创建对象标准格式: 名称 对象名 = new 名称();...静态变量名称.静态变量 静态方法: 名称.静态方法(); 注意: 1.静态(先)不能直接访问非静态(后) “先人不知后人,后人之先人” 2.静态方法中不能用this Arrays java.util.Arrays...是一个与数组相关工具,里面提供了大量静态方法,来实现数组常见操作。

    1.9K20

    java编程基础(入门级)(超级完整版)「建议收藏」

    大家好,又见面了,是你们朋友全栈君。...元素1,元素2,...}; TIPS: 【1】虽然没说长度,但可以根据元素个数得到长度 【2】静态初始化如果用省略模式就不能拆分成两个步骤 4.访问数组元素进行获取 【1】若直接打印,得到是数组对应内存地址哈希值...包名称.名称 对于和当前类属于同一个情况,可以省略导包语句 【2】创建 //格式 名称 对象名 = new 名称(); 【3】使用 A.使用成员变量:对象名.成员对象名 B.使用成员方法...static,必须先创建对象再使用 (3)对于静态方法,可以通过对象名调用,也可以直接通过名称调用 //Myclass是名称 名称.静态方法 Myclass.methodstatic(); /.../对于本类当中静态方法,可以省略名称 TIPS: 【1】静态不能访问非静态,只能访问静态 原因:内存中现有静态内容,后有的非静态内容 【2】静态方法中不能用this 原因:this代表当前对象

    97440

    2021-05-26:给定一个char matrix,也就是char类型二维数组,再给定一个字符串word,可以任何

    2021-05-26:给定一个char[][] matrix,也就是char类型二维数组,再给定一个字符串word,可以任何一个某个位置出发,可以走上下左右,能不能找到word?...设定1:可以走重复路情况下,返回能不能找到。比如,word = "zoooz",是可以找到,z -> o -> o -> o -> z,因为允许走一条路径中已经走过字符。...设定2:不可以走重复路情况下,返回能不能找到。比如,word = "zoooz",是不可以找到,因为允许走一条路径中已经走过字符不能重复走。 福大大 答案2021-05-26: 自然智慧即可。...ret2 := findWord2(m, word2) fmt.Println(ret1) fmt.Println(ret2) } } // 可以走重复设定...len(dp[0])-1 { right = dp[i][j+1][k-1] } return up || down || left || right } // 不可以走重复路设定

    51430

    JAVA知识盲区整理

    分隔符File.separator和File.pathSeparator和\\ 区别 getParentFile在解压文件时作用 ---- 静态内部类调用时机 调用外部类静态变量静态方法可以让外部类得到加载...不过在加载静态内部类过程中也会加载外部类 静态修饰过后一切物件都只与相关,不与对象引用相关 静态变量静态方法,静态块等都是级别的属性,而不是单纯对象属性。...与调用没有被static 修饰过变量和方法不同是:一般变量和方法是用当前对象引用(即this)来调用静态方法和变量则不需要。从一个角度上来说,它们是共享给所有对象,不是一个角度私有。...,可以直接通过名调用 Singleton.A.show(); } } 静态内部类何时初始化 ---- 静态内部类 静态内部类跟静态方法一样,只能访问静态成员变量和方法,不能访问非静态方法和属性...,但是普通内部类可以访问任意外部类成员变量和方法 静态内部类可以声明普通成员变量和方法,而普通内部类不能声明static成员变量和方法 静态内部类可以单独初始化: Inner i = new Outer.Inner

    1.1K32

    2023-05-21:给定一个字符串 s 和一个整数 k 。你可以 s 前 k 个字母中选择一个, 并把它加到字符串末尾。 返回 在应用上述步骤任意数量

    2023-05-21:给定一个字符串 s 和一个整数 k 。你可以 s 前 k 个字母中选择一个,并把它加到字符串末尾。返回 在应用上述步骤任意数量移动后,字典上最小字符串。...答案2023-05-21:大体过程如下:1.当 k 大于 1 时,直接将字符串 s 中字符按照字典序排序,得到排序后字符串 s',返回 s'。...3.将字符串 s 前 minRankIndex 个字符移动到字符串末尾,得到字符串 s',返回 s'。...值得注意是,DC3 算法是一种用于求解后缀数组算法,可以在 O(n) 复杂度内计算一个字符串后缀数组。...2.当 k = 1 时,时间复杂度为 O(n),其中 n 是字符串 s 长度。时间复杂度主要来自 DC3 算法实现,该算法可以在 O(n) 时间复杂度内计算一个字符串后缀数组。

    38710

    后端逆袭,一份不可多得PHP学习指南

    (变量,设置类型)设置变量类型 gettype(变量)得到变量类型 变量函数库检测变量类型 is_int(变量) > 检测整型 is_string(变量) > 检测字符串类型 is_array...答:常量和变量相反,在脚本执行期间该量不能被修改 系统常量 PHP_VERSION:得到php版本 PHP_OS:得到服务器操作系统 M_PI:PI值 注意事项: 常量名称前面没有$符号...(defined变量) 魔术常量 __LIEN__得到行号 __FILE__得到文件完整路径和文件名 __FUNCTION__函数名称 __CLASS__ __METHOD__方法...怎么样定义一个定义:(类似class关键字来定义) class Person{ } <?...和方法不能被继承或者重写 使用static关键字 static用于表示静态意思: 被static所修饰属性和方法都是静态属性和方法 静态属性和方法特点是不用通过对象来调用属性和方法 可以通过名来调用属性和方法

    2.8K30

    Flex反射得到属性和属性

    我们知道,在java中,通过反射可以得到一个所有信息,属性、方法、接口、注解等等,那么在flex中是不是也是如此呢?        ...typeActionScript 对象定义实现接口名称。 存取器是 getter 和 setter 函数定义一个属性。 name存取器名称。...name变量名称。 type变量数据类型。 如果 ActionScript 对象是对象或构造函数,则所有实例属性和方法均嵌套在此标签内。...该方法有两种使用方式,第一种,传入参数是对象,这样可以得到普通属性和方法,不能得到静态属性和方法,第二种,传入参数是,这样可以得到所有的属性和方法,不包括私有的。        ...,这样就可以生成一个传入对象json字符串了。

    1.7K30

    8. Groovy 运算符 条件运算符,对象运算符学习

    所以上面的示例中:zinyan字符串是非空所以为true,然后取反输出为false。而下面第三行代码中字符串为空,所以值为false,取反得到就是true了。...PS:在Groovy中判断字符串是否为空可以直接使用这个条件判断符来进行判断。如果对象是null 也是可以判断。...: zinyan.com } } 因为Groovy默认帮我们创建了get和set方法,所以我们可以直接 对象.属性名获取该值。...@name) //输出 名称: zinyan.com } } 获取是对象初始化时复制属性值,而不是get方法中获取输出值。 请注意,这个属性获取,主要是针对get方法。...和更高版本中,可以获得指向实例方法方法指针。

    2K10

    『设计模式』反射,反射程序员快乐!为什么老是加班?为什么工资不如他多?原来是不懂反射!

    Java为准动态语言主要一个关键性质,这个机制允许程序在运行时透过反射取得任何一个已知名称class内部信息,包括: 正在运行中属性信息,正在运行中方法信息,正在运行中构造信息...在运行时判断任意一个所具有的成员变量和方法。 在运行时调用任意一个对象方法。...Class对象功能: 获取功能: 1 获取成员变量们 Field[] getFields() :获取所有public修饰成员变量 Field getField(String name) 获取指定名称...无法在外部实例化对象正是私有构造器意义所在,在单例模式下经常使用,整个项目只有一个对象,外部无法实例化对象,可以进行实例化并通过静态方法返回,由于实例化对象是静态,故只有一个对象,也就是单例...不知你是否发现,创建方法使用,所有的一切都是用字符串,那么也就是说,可以通过读入数据,或者配置文件方式,创建,调用方法。

    1.1K20

    Java对象和多态

    基本结构 为了快速掌握,我们自己创建一个自己,创建文件名称应该和名一致。 # 2.1 成员变量中,可以包含许多成员变量,也叫成员属性,成员字段 (field) 通过 ....静态变量静态方法是具有的属性(后面还会提到静态静态代码块),也可以理解为是所有对象共享内容。...我们通过使用 static 关键字来声明一个变量一个方法为静态,一旦被声明为静态,那么通过这个创建所有对象,操作都是同一个目标,也就是说,对象再多,也只有这一个静态变量或方法。...数组可以代表任何相同类型一组内容(包括引用类型和基本类型)其中存放一个数据称为数组一个元素,数组下标是 0 开始,也就是第一个元素索引是 0!...类型[] 变量名称 = new 类型[]{...}; //静态初始化(直接指定值和大小) 类型[] 变量名称 = {...}; //同上,但是只能在定义时赋值 创建出来数组每个元素都有默认值(规则和成员变量一样

    29450

    深入理解Java继承、封装、多态实现原理

    类型信息一般包括该类方法代码、变量、成员变量定义等等。可以说,类型信息就是 Java 文件在运行时内部结构,包含了改所有在 Java 文件中定义信息。...本文也可以说是对于 JVM 后两种调用实现考察。 常量池(constant pool) 常量池中保存一个 Java 引用一些常量信息,包含一些字符串常量及对于符号引用信息等。...可以看到,给定任意一个方法索引,在常量池中找到对应条目后,可以得到该方法索引(classindex)和名字类型索引 (nameandtypeindex), 进而得到该方法所属类型信息和名称及描述符信息...当一个继承自另一个时,那么这个可以拥有另一个域和方法。...: 子类可以直接使用父中公共方法和成员变量(通常为了保护数据域,成员变量均为私有) 子类中可以覆盖父方法,也就是子类重写了父方法,此时若还需要调用被覆盖方法,则需要用到 super

    1.1K31

    Java学习历程之----进阶篇(六)

    4)main() 方法具有一个字符串数组参数,用来接收执行 Java 程序命令行参数。命令行参数作为字符串,按照顺序依次对应字符串数组中元素。...5)字符串中数组名字(代码中 args)可以任意设置,但是根据习惯,这个字符串数组名字一般和 Java 规范范例中 main() 参数名保持一致,命名为 args,而方法中其他内容都是固定不变...02 二、Static关键字 在中,使用 static 修饰符修饰属性(成员变量)称为静态变量,也可以称为变量,常量称为静态常量(详见Java学习历程之----基础篇(四)),方法称为静态方法或方法...静态成员不依赖于特定实例,被所有实例共享;调用静态成员语法形式如下: 名.静态成员 注意: 1)static 修饰成员变量和方法,从属于。 2)普通变量和方法从属于对象。...包允许将组合成较小单元(类似文件夹),它基本上隐藏了,并避免了名称冲突。包允许在更广泛范围内保护、数据和方法。你可以在包内定义,而在包外代码不能访问该类。

    20010

    夯实Java基础系列23:一文读懂继承、封装、多态底层实现原理

    本文也可以说是对于 JVM 后两种调用实现考察。 常量池(constant pool) 常量池中保存一个 Java 引用一些常量信息,包含一些字符串常量及对于符号引用信息等。...常量池各表关系] 可以看到,给定任意一个方法索引,在常量池中找到对应条目后,可以得到该方法索引(class_index)和名字类型索引 (name_and_type_index), 进而得到该方法所属类型信息和名称及描述符信息...当一个继承自另一个时,那么这个可以拥有另一个域和方法。...: 子类可以直接使用父中公共方法和成员变量(通常为了保护数据域,成员变量均为私有) 子类中可以覆盖父方法,也就是子类重写了父方法,此时若还需要调用被覆盖方法,则需要用到 super...开始有时候名字上还总是容易弄混。相信熟悉Java这门语言同学都应该了解这两个特性,可能只是语言层面上了解这种写法,但是jvm是如何实现他们呢 ? 重载官方给出介绍: 一.

    1.3K00

    深入分析 Java 枚举 enum

    不同,但它实际上就是一个,经过编译器编译之后得到一个.class文件 ?...name变量就是枚举变量字符串形式。 还有一些其他方法就暂时不介绍了,感兴趣的话可以自己去看看文档或者源码,都挺简单。 要点: 使用是enum关键字而不是class。...在其他中使用enum变量时候,只需要【名.变量名】就可以了,和使用静态变量一样。...当然可以: ? 你可以定义任何你想要变量。学完了这些,大概枚举你也应该掌握了,但是,还有没有其他用法呢? 枚举抽象 如果在枚举中定义一个抽象方法会怎么样?...为什么一个变量后边可以一个代码块并且实现抽象方法呢? 别着急,带着这个疑问,我们来看一下枚举实现原理。 枚举实现原理 最简单看起: ?

    2K30

    深入分析Javaenum

    不同,但它实际上就是一个,经过编译器编译之后得到一个.class文件。...name变量就是枚举变量字符串形式。 还有一些其他方法就暂时不介绍了,感兴趣的话可以自己去看看文档或者源码,都挺简单。 要点: 使用是enum关键字而不是class。...在其他中使用enum变量时候,只需要【名.变量名】就可以了,和使用静态变量一样。...当然可以: ? 你可以定义任何你想要变量。学完了这些,大概枚举你也应该掌握了,但是,还有没有其他用法呢? 枚举抽象 如果在枚举中定义一个抽象方法会怎么样?...为什么一个变量后边可以一个代码块并且实现抽象方法呢? 别着急,带着这个疑问,我们来看一下枚举实现原理。 枚举实现原理 最简单看起: ?

    1.3K110

    jvm中和对象定义存储基础知识

    Tech 导读 一个java程序文件由程序员编写并且编译二进制后,如何能更节约空间、更安全、更高效寻址等等,可以本文略知一二。...、字符串常量池,静态变量加载到元数据区(1.8后字符串常量池,静态变量放入了堆);main线程开始运行,分配栈帧内存,其中操作数栈stack=2表示运行该方法所需要最大操作数栈深度是2;locals...Class并不存储静态变量、常量、方法等实际信息(实际存储元空间),可以看做只是一个句柄,通过对象头指针指向元空间信息。...(无final修饰静态变量)、字符串常量在1.8及以后都放入了堆区间。...使用GC收集器:CMS,适用堆内存不规整情况下。名字中Mark Sweep这两个词可以看出,CMS 收集器是一种“标记-清除”算法实现,因此会得到很多碎片因此和空闲列表配合使用。

    24410

    【java】关于java和对象,你想知道在这里!

    这个所有对象,都拥有对同一下某个对象私有实例变量直接访问权限 当然,不同类对象, 就没有这种直接访问权限了 实例变量和局部变量“交锋” 在方法中, 可以直接通过名称访问实例变量(隐式访问...对2中造成冲突问题,可从两个方向解决:   3.1 为局部变量取另外一个名称   3.2  使用this显式访问实例变量 静态变量静态方法 当对一个实例变量加以static修饰符时候,它就变成了一个静态变量...(静态变量/方法是否一定要由调用?) 2.内定义实例方法能访问静态变量吗? (静态变量是否一定要由静态方法调用?) 下面将对这两个问题一一解答: 对象能够访问静态变量静态方法吗?...(静态变量是否一定要由静态方法调用?) 可以!...(String 字符串 []){ ....}形式 除了字符串数组名称可以任意取,static,void和参数一律不可缺少 例如我如果省略static就会导致这一段报错: String args []

    1.2K110
    领券