当前位置:首页 » 编程语言 » 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

热点内容
没有被调用的函数会参与编译吗 发布:2025-05-15 13:42:51 浏览:259
在计算机中ftp的中文 发布:2025-05-15 13:41:07 浏览:999
国网校招要网签密码和账号干什么 发布:2025-05-15 13:40:25 浏览:178
java分 发布:2025-05-15 13:34:36 浏览:846
如何下载卡巴斯基安卓版 发布:2025-05-15 13:34:36 浏览:480
排序函数c语言 发布:2025-05-15 13:06:28 浏览:6
韩服lol挂机脚本 发布:2025-05-15 12:42:56 浏览:461
监控存储服务器如何调试 发布:2025-05-15 12:36:30 浏览:219
一万级净化车间有哪些配置 发布:2025-05-15 12:16:41 浏览:98
javazip解压加密 发布:2025-05-15 12:15:02 浏览:943