
可以,
javalangreflect 包下的method类
methodinvoke(obj,objparms[])
obj是你要这个方法属于的对象,后面这是这个方法需要的参数,没有参数,null就可以
以上只是参考,并不能直接使用
具体 *** 作,是ss = "say",传入exectute()自定义方法中,
exectute()方法中遍历,某一对象的所有方法必性,方法名相同,
invoke执行
java命名规则是以数字、字母、下划线、$组成,但是只能以字母、下划线、$开头,但是约定俗成的是首字母小写,后面的首字母大写,即采用驼峰标识,还有就是见名只意即可,所以理论上这四种都是对的
不好意思,倒是没有注意super是关键字呢,当时就只是看单词了
Java是不能实现动态的变量名的,Java的变量名在源代码中必须的确定的。根据你的代码,你可以使用数组,List或Map,如代码:
int n[] = new int[3];
for (int i = 0; i < 3; i++) {
n[i] = 5;
}
List<Integer> n = new ArrayList<Integer>();
for (int i = 1; i < 4; i++) {
nadd(5);
}
Map<String, Integer> n = new HashMap<String, Integer>();
for (int i = 1; i < 4; i++) {
nput("n" + i, 5);
}
这个是最基本的概念,如果你需要进一步了解Java的相关知识,可以秒秒学学习下。
和题主遇到同样疑问。相信题主已经解决了。刚刚查阅了一些资料大概理解了链表的data structure中这个语句。希望可以帮助到后面的人。如果有不对,希望帮忙指出!
回答这个问题我们需要先了解两个事情:
1 A是一个类,我们如果对他进行实例化,需要这样写:
A a = new A();
详细解释一下这个语句,首先等号左边做的事情:在JVM栈内存(stack)中定义了一个变量a。等号右边:在JVM堆内存(heap)中通过new关键字 开辟了一个空间,存放创建的实例,并得到了一个存放该实例的内存地址。
stack中的a会被赋值为heap中刚刚那个实例对象的内存地址,换句话说,这个变量a其实是reference variable(对象引用),功能相当于指针,记录实例对象的地址。
理解完第一件事,我们就会明白A a;语句中的变量a相当于指向A的实例化对象的指针。
2 类中定义的成员变量(成员变量为方法体之外,内类的非静态变量)不用初始化,java会自动初始化。
初始化规则:如果是数字会自动初始化成0,字符会初始化成'o',对象引用会初始化成null
所以我们可以省略初始化new A();这部分的写法。
结论:
class Node{
Node next;
}
如果我们不给对象引用变量next赋值,next会自动被初始化为null,就是什么都不指向。
如果我们之后给对象引用变量next赋值,就可以让next指向某个Node的实例化对象,即,指向上一个/下一个节点。(换句话说,我们给next赋值,赋给他的值其实是一个Node的实例化对象的地址)从而实现了链表的思想。
亲 你说的是不是,工厂模式
interface PP{
}
class Man implements pp{
}
class Women implements PP{
}
class Wood implements PP{
}
class Fish implements PP{
}
class PPFactory {
public static PP getOne(String str){
if(strequals("man")){
return new Man();
}else if("woman"equals(str)){
return new Woman();
}else if("wood"equals(str)){
return new Wood();
}
}
}
class Test{
main(){
PP p = PPFactorygetOne("man");
PP p = PPFactorygetOne("woman");
}
}提交回答
Java是一种区分字母的大小写(case-sensitive)的语言,下面举例说明Java语言中包、类、变量等的命名规范。
(一)Package(包)的命名:
Package的名字应该都是由一个小写单词组成,例如netebseriesmodules。
(二)Class(类)的命名:
Class的名字首字母大写,通常由多个单词合成一个类名,要求每个单词的首字母也要大写,例如:DataFile或InfoParser。
(三)变量的命名:
变量的名字可大小写混用,但首字符应小写。词由大写字母分隔,限制用下划线,限制使用美元符($),因为这个字符对内部类有特殊的含义。如:inputFileSize。
(四) Interface(接口)的命名:与Class的命名类似。
(五)Static Final 变量(相当于常量)的命名
Static Final 变量的名字应该都大写,并且指出完整含义,例如:final MAXUPLOADFILESIZE=1024。
(六)方法的命名
方法名的第一个单词应该是动词,大小写可混用,但首字母应小写。在每个方法名内,大写字母将词分隔并限制使用下划线。参数的名字必须和变量的命名规范一致。使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名字:
setCounter(int size){ thissize = size; }
数组的命名
数组应该总是用下面的方式来命名:byte[] buffer;而不是:byte buffer[](习惯性问题而已)。
值得注意的是,命名时应尽量采用完整的英文描述符(也有特例)。此外,一般应采用小写字母,但类名、接口名以及任何非初始单词的第一个字母要大写。
归纳成以下几点,就是:尽量使用完整的英文描述符、采用适用于相关领域的术语、采用大小写混合使名字可读、尽量少用缩写,但如果用了,要明智地使 用,且在整个工程中统一、避免使用长的名字(小于 15 个字母是个好主意)、避免使用类似的名字,或者仅仅是大小写不同的名字、避免使用下划线(除静态常量等)。
int是值类型,存放在栈中。
声明的时候,a表示内存中某个区域,也可以说a代表内存中的地址,赋值的时候,将值存放在a指定的内存中;
假设a就是一间旅馆的单人房间,那么5就是住在这个房间的旅客,同时,该房间也可以给其他人住,但是5就得出去
以上就是关于如何将java字符串转换成变量名或方法名使用全部的内容,包括:如何将java字符串转换成变量名或方法名使用、java常用变量名有哪些、在Java中,如何使用动态的变量名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)