当前位置:首页 » 编程语言 » java当前类

java当前类

发布时间: 2022-04-29 13:30:06

A. java中如果是在当前类的方法里new当前类的对象,可以直接new吗解释下机理,谢谢哦

可以直接new的,当你把这样的类new出来并调用方法时,实际产生了该类的两个实例,实例调用另一个实例当然是可以的啊。 但是这样用要多注意,比如写成这样
public class A {
new A().;
public void moon();{}
}
这样就会报错了,这里造成了类的递归定义,会造成栈溢出。

B. java里this除了可以表示当前对象,还可不可以表示一个类

不能,java里的this仅仅指的是当前类的实体(如果是写在内部类的,就是内部类实体)。
总之无论什么时候this本身代表的是实体。
当然你可以通过反射获取到java类,但这与this本身无关。

C. 请问,java如何获得当前类的泛型的实际类型

java不能取得T的类型.
java的generic只在编译期有效, 拉到执行期并没有T的任何记录.
即使用reflect也拿不到, 因为根本就没有.
在C++的generic才能在执行期取得T.

D. 在Java中,this代表当前类的时候,能用它代表的类名代替this吗

this和对象名称调用对象的非静态方法和属性,使用类名调用对象的静态方法和属性

E. java 怎样获得一个类的当前对象

.class获得的是类的class对象,可不是这个类的对象,用class
变量名接收,用这个class对象通过反射机制可以通过newinstence创建出这个类的对象而且只能调用无参数构造器

F. JAVA中this有什么作用

我也来说几句吧,呵呵! 希望用通俗的语言,让你能明白this的作用!
其实this关键字是很容易理解的,下面我举两个例子作对比,可能你就看明白了:
没有使用this的情况:
class A
{
private int aa,bb;//声明两个整形变量
public int returnData(int x,int y) //一个返回整形数的方法
{
aa = x;
bb = y;
return aa + bb;
}
}
使用this的情况
class A
{
private int aa,bb;//声明两个整形变量
public int returnData(int aa,int bb) //一个返回整形数的方法
{
this.aa = aa;//第一个aa是全局变量的aa,后一个aa是参数aa
this.bb = bb;//第一个bb是全局变量的bb,后一个bb是参数bb
return (this.aa + this.bb);
}
}

结论:
上面的两个类,本质是相同的,而为什么在第类中使用this关键字呢,注意到第类中的方法returnData(int aa,int bb),形式参数分别为aa和bb,刚好和“private int aa,bb;”这里的变量名是一样的,现在问题来了:在returnData的方法体中如何区别形式参数aa和全局变量aa,两 个 bb也是如此?这就是引入this关键字的用处所在了!this.aa表示的是全局变量的aa,而没有加this的aa表示形式参数的aa,bb也是如此!
建议:
编程中,过多的使用this关键字不是好方法。这从上面也看得出来,相同的变量名加上this关键字过多时,有时会让人分不清哪个是对哪个。这时可以使用以下方法修改,避免使用this关键字:

class A
{
private int aa,bb;//声明两个整形变量
public int returnData(int aa1,int bb1)
{
aa = aa1;//在aa后面加上一数字1加以区分,其他以此类推
bb = bb1;
return aa + bb;
}
}
总结:
可以看出,上面的,,都是一样的,但既避免了使用this关键字,又避免了中x和y 这种参数意思不明确的缺点.所有建议使用一样的方法!
以上是我的个人心得,原创发贴!希望你能看懂,呵呵!献丑了!

G. 如何在java方法中获得当前方法的名称

在java方法中获得当前方法的名称方法:

一、获得当前类名:

Java代码

  • this.getClass().getName();

  • 二、获得当前方法名臣:
    JDK1.4

    Java代码

  • newException().getStackTrace()[i].getMethodName();//其中i=0就是当前的类的方法名字;i==1就是调用者的方法

  • JDK1.5之后可用

    Java代码

  • Thread.currentThread().getStackTrace()[1].getMethodName();//具体使用数组的那个元素和JVM的实现有关,我在SUNJDK6下面测试的是第二个元素,具体说明可以查看Thread.getStackTrace方法的javadoc

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:595
制作脚本网站 发布:2025-10-20 08:17:34 浏览:889
python中的init方法 发布:2025-10-20 08:17:33 浏览:583
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:766
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:687
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1015
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:258
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:117
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:808
python股票数据获取 发布:2025-10-20 07:39:44 浏览:715