You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java编程语言中如何不使用对象即可访问类?

Java 无需实例化对象访问类的实现方式

Java 中不需要创建类的实例对象即可访问类相关内容的方式,核心依赖 static 关键字实现,被 static 修饰的内容属于类本身,会在类加载阶段完成初始化,不依赖实例对象的生命周期。

1. 访问类的静态成员

针对类的属性和方法,只要用 static 修饰,就可以直接通过类名.成员名的方式访问,不需要创建类对象。
示例代码如下:

class Test{
    // 静态属性:属于类本身,全局只有一份
    public static String staticAttr = "无需实例即可访问的静态属性";
    // 普通属性:属于实例对象,必须创建对象才能访问
    public String normalAttr = "需要实例才能访问的普通属性";
    
    // 静态方法:属于类本身,可直接调用
    public static void staticMethod() {
        System.out.println("无需实例即可调用的静态方法");
    }
    
    // 普通方法:属于实例对象,必须创建对象才能调用
    public void normalMethod() {
        System.out.println("需要实例才能调用的普通方法");
    }
}

调用示例:

public class RunTest {
    public static void main(String[] args) {
        // 无需创建Test类对象,直接通过类名访问静态成员
        System.out.println(Test.staticAttr);
        Test.staticMethod();
        
        // 以下写法编译报错,普通成员必须依赖实例对象访问
        // System.out.println(Test.normalAttr);
        // Test.normalMethod();
    }
}

2. 获取类本身的Class对象

如果是需要获取类的类型信息用于反射等场景,无需创建类对象,直接通过类名.class即可拿到该类对应的Class实例:

// 无需创建Test对象,直接获取类的Class实例
Class<Test> testClazz = Test.class;
// 输出类的全限定名
System.out.println(testClazz.getName());

补充说明

  • 静态方法内部只能直接访问静态成员,无法直接访问非静态成员,非静态成员的存在依赖实例对象
  • 如果是静态内部类,也可以直接通过外部类.静态内部类的方式访问,不需要创建外部类的实例对象

内容的提问来源于stack exchange,提问作者Urmil Rupareliya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 03:06:03