54powerman
最初碰到这个问题,首先想到的是getClass()方法,如下尝试:
public static String getClassName()
{
String className=null;
className=this.getClass().getName();//静态方法中不可访问变量 this
return className;
}
结果失败。
偶然发现有人利用异常处理可以获得,真是另辟蹊径,巧妙的很。
public static String getClassName()
{
String className=null;
try {
throw new Exception();
} catch (Exception e) {
StackTraceElement[] element=e.getStackTrace();
className=element[0].getClassName();
}
return className;
}
记录下来备用。
分享到:
相关推荐
字节型在Java中用于存储小整数,其范围为-128到127。选项中的“-128到127”正确表示了字节型变量的值域。 #### 浮点型(Float) 浮点型用于存储实数,其默认值是double精度。然而,题目中“float f = 1.3;”这一行...
* Java 中的方法可以是静态方法或实例方法,静态方法可以使用类名直接调用,实例方法需要通过对象实例调用。 * Java 中的类可以定义变量、方法和构造函数,例如 public class E { public static void main(String ...
接口是Java中用来定义一组方法的引用类型,它是实现多态的关键所在。例如,interface DD {...}定义了一个接口DD。 7. Java异常处理 异常是程序在运行时出现的错误或不正常情况,Java通过try-catch语句来处理异常。...
在Java中,类是封装的载体,它定义了对象的状态(数据,即成员变量)和行为(方法)。类的定义通常包括以下几个方面: 1. 类标识:类名,遵循驼峰命名规则,通常首字母大写,例如 `Car` 或 `Teacher`。 2. 成员变量...
首先,关于this关键字,它在Java中用来指代当前对象的引用。其重要特性包括访问当前类的成员变量、方法和构造器。在某些情况下,如在构造器中初始化当前对象的其他构造器时,this关键字是不可省略的。此外,this...
类包含三个主要部分:类名、属性(attributes)和方法(operations)。属性和方法前的可见性修饰符分别表示公共(+)、私有(-)、受保护(#)和包级别(无修饰符)的访问权限。若属性或方法前有下划线,表示它们是...
这个方法在一些具有哈希功能的 Collection 中用到。 * getClass():final 方法,获得运行时类型。 * wait():使当前线程等待该线程的锁,当前线程必须是该对象的拥有者,也就是具有该对象的锁。wait() 方法一直等待...
在本文中,我们将详细介绍 Java 代码规范的各个方面,包括标识符命名规范、包名规范、类名规范、方法名规范等。 1. 标识符命名规范 标识符命名是编写 Java 代码的基础,好的命名规范可以提高代码的可读性和可维护...
标识符是Java中用来标识类名、变量名、方法名等的名字。Java的标识符由字母、下划线、美元符号组成,并且不能以数字开头。 **数据类型:** Java的数据类型分为两大类:原始数据类型和引用数据类型。 1. **原始...
2. **静态方法(类方法)**:与静态属性类似,静态方法也是属于类的,可以通过类名直接调用,不需要创建对象实例。静态方法中只能访问静态属性和调用静态方法,而不能直接访问非静态属性或调用非静态方法,因为非...
4. 静态方法(static method)或类方法是用 static 修饰的方法。 5. 子类通过 super 关键字调用父类的构造方法。 异常处理 6. 在产生异常的方法声明中声明会产生的异常,向更高一级方法抛出异常的关键字是 throws...
15. **构造方法**:在Java中有一种叫做构造方法的特殊方法,在程序中用它来对类成员进行初始化。构造方法与类同名,没有返回类型。 16. **对象创建**:`new`是创建对象的操作符。使用`new`关键字可以创建一个类的新...
`getClass()`方法返回当前对象所属类的Class对象。这个方法非常有用,尤其是在反射编程中。 #### 22. Java反射 Java反射允许程序在运行时检查类、字段、方法和构造器的信息,并创建对象和调用方法。这是Java的一个...
HashMap和Hashtable都是Java中用于存储键值对的集合,但它们之间有几个主要的区别。HashMap允许null键和null值,而Hashtable不允许。此外,Hashtable是同步的,而HashMap不是,这意味着在多线程环境下,如果多个线程...
Factory方法是工厂模式中用到的一种静态方法,用于创建对象。它根据传入的参数返回一个特定类的实例。工厂方法的目的是在创建对象时提供更大的灵活性和封装性,同时保证创建的对象具有公共接口但实现细节可以不同。...
12. 抽象类:Java中用`abstract`关键字声明抽象类,抽象方法无需定义,由子类实现。C++的抽象类至少包含一个纯虚函数,且抽象方法与纯虚函数相关联。 13. `final`类:Java的`final`类不能被继承,而C++没有类似的...
`Hashtable`类是Java中用于存储键值对的容器之一。 **知识点详解**: - **Hashtable类**:继承自`Dictionary`类,实现了`Map`接口。`Hashtable`不允许键或值为null。 - **put()方法**:向`Hashtable`中添加键值对。...
17. **在Java中用什么关键字修饰的方法可以直接通过类名来调用?()** - 正确答案:**A、static** - **解析**:静态(static)方法可以通过类名直接调用,而不需要创建类的对象。 ### 抽象方法 18. **若在某一个...
接口在Java中用来定义一组方法的签名(方法的名称和参数列表),但不包含任何具体的实现。接口可以被类实现,从而让该类具有接口中定义的所有方法。接口还支持多个继承,即一个类可以实现多个接口。示例代码如下: ...
在Java中,`break`关键字用于终止循环语句,而`return`用于结束方法并返回一个值(如果方法定义了返回类型),`continue`用于跳过当前循环的剩余部分并继续下一次循环。选项c是正确的。 在方法定义中,正确的形式是...