`
crazier9527
  • 浏览: 1008501 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java中在静态方法或变量中动态获取当前类的类名

    博客分类:
  • Java
阅读更多

java中在静态方法中动态获取当前类的类名或者动态获取当前类的类名付给一个静态变量,典型的列子就是在使用logger记录日志的时候,我们需要将需要log的类的类名固定的写出来,例如: 

protected static final Log logger = LogFactory.getLog(Test.class);  
  
这样写比较死板,通过匿名类的方法可以动态获取当前类的类名,如下所示:  
protected static final Log logger = LogFactory.getLog(new Object() {  
        //静态方法中获取当前类名  
        public String getClassName() {  
            String className = this.getClass().getName();  
            return className.substring(0, className.lastIndexOf('$'));  
        }
}.getClassName()); 
 

 

分享到:
评论

相关推荐

    java 利用反射获取内部类静态成员变量的值操作.docx

    3. **反射**:反射是在运行时检查类、接口、字段和方法等的能力,通常用于实现动态代理或需要动态加载类的场景。 #### 三、核心知识点 接下来,我们将通过一个具体的例子来演示如何使用Java反射获取内部类的静态...

    静态的魔力:Java中静态方法和变量的深度解析

    在这段代码中,`Singleton`类通过静态变量`instance`来保存唯一的实例,并通过`getInstance`静态方法来获取该实例。 #### 十一、结论 静态方法和静态变量是Java面向对象编程中不可或缺的部分。它们提供了无需创建...

    Java中的静态变量静态方法静态块与静态类.docx

    ### Java中的静态变量、静态方法、静态块与静态类 #### 一、静态变量 静态变量,也称为类变量,是定义在类中方法之外的,并且被`static`关键字修饰的变量。这类变量并不属于类的任何实例,而是属于类本身。这意味...

    java中静态与非静态的变量定义与使用

    在 `Table` 类和 `Cupboard` 类的构造器中,可以看到静态变量的初始化会导致它们关联的实例方法 `f()` 被调用。例如,`Table` 类的构造器在创建静态变量 `b2` 时调用了 `b2.f(1)`,这将打印出 "f(1)"。同样,`...

    static静态变量使用@Value注入方式.md

    在Java中,可以通过类名直接访问静态变量而无需创建类的实例。例如: ```java public class MyClass { public static String myVar = "Hello World"; } // 访问静态变量 System.out.println(MyClass.myVar); ``` ...

    Java成员变量局部变量静态变量成员方法全局方法等概念的区

    Java鼓励将所有方法封装在类中,因此全局方法的概念在Java中并不常见。不过,如果有一个公共的工具类,其中的方法不依赖于任何特定实例状态,可以视为类的静态方法。 理解这些基本概念有助于编写清晰、可维护的代码...

    Java中的Static块与静态方法

    在Java编程语言中,`static`关键字扮演着至关重要的角色,它被用于声明类成员(如变量、方法)为静态的。静态成员不依赖于任何特定的对象实例,而是与类本身绑定,这意味着无论该类有多少个实例,静态成员只会有一份...

    java之中的静态变量与静态方法的继承与覆盖问题.doc

    在Java编程语言中,静态变量(也称为类变量)和静态方法(也称为类方法)是由`static`关键字修饰的成员变量和成员方法。它们的特点在于不依赖于对象的存在,可以通过类名直接访问。 #### 静态变量的特点 - **共享...

    java-静态变量方法块

    在Java编程语言中,静态变量、静态方法、静态代码块以及非静态变量和非静态方法是核心概念,它们对于理解和编写Java程序至关重要。下面将详细解释这些概念,并通过实例程序来阐述它们的使用和内存管理。 首先,静态...

    JAVA类的方法调用和变量

    - **Final**:最终的,防止类被继承或方法被重写。 - **Static**:静态的,用于声明静态变量和方法。 变量的声明可以分为可访问修饰符、静态、常量和 volatile: 1. **可访问修饰符**(如 public, private, ...

    静态方法,静态成员变量的调用

    在Java编程语言中,静态方法和实例方法是两种不同类型的成员,它们在使用和功能上有所区别。静态方法是属于类级别的,而实例方法是属于对象级别的。理解这两种方法的特性对于编写高效的代码至关重要。 首先,调用...

    Java中静态方法和非静态方法的区别.docx

    在静态方法中,由于它可以重写任何静态数据成员的值,因此静态方法可以覆盖静态变量的值。非静态方法也可以覆盖静态变量的值,但需要创建类对象。 七、内存分配 静态方法的内存是固定在内存中的,因此,我们不需要...

    静态变量的导入以及集合的运用

    在Java中,可以通过`import static`语句来直接导入一个类中的静态成员(包括静态变量和静态方法)。这种方式可以避免重复输入类名,使得代码更加简洁易读。例如,在给定的代码片段中: ```java import static java....

    Java中static静态变量.pdf

    在Java编程语言中,`static`关键字是用来声明静态变量和静态方法的,这些成员属于类本身,而不属于类的任何实例。静态变量,也被称为类变量,是存储在内存的类区域,而实例变量则是存储在堆内存中,每个对象实例都有...

    什么是静态(static)什么是静态方法,静态变量,静态块

    在Java编程语言中,"静态"(static)关键字是一个非常重要的概念,它具有多种用途,包括定义静态变量、静态方法、静态初始化块以及静态类。理解这些概念对于编写高效的Java代码至关重要。 首先,我们来解释静态变量...

    java 如何访问同名的方法或变量

    静态变量(类变量)属于类本身,而非类的实例,因此可以通过类名直接访问。 3. **访问修饰符**:`public`、`protected`、`private`和默认(无修饰符)控制了类、接口、方法和变量的可访问性。`public`是全局可见的...

    java静态变量与方法.doc

    Java中的静态变量和静态方法是面向对象编程中的关键概念,它们与实例变量和实例方法有着显著的区别。在Java中,`static`关键字用于声明类级别的成员,而不是对象级别的成员。 **一、静态成员变量与实例成员变量的...

    Agile Java 习题3,4--类方法和类变量

    在Agile Java中,类方法和类变量的实践应用可能包括: - **设计模式**:在实现某些设计模式,如单例模式时,会用到静态变量和静态方法。单例模式确保一个类只有一个实例,并提供全局访问点,通常通过静态方法来获取...

Global site tag (gtag.js) - Google Analytics