如何在 Java 中创建静态类 Object 而不引用外部类?
静态成员(方法/变量)属于类,它将与类一起加载到内存中。您可以调用它而无需创建对象。(使用类名作为引用)。在整个类中只有一个静态字段的副本可用,即静态字段的值在所有对象中都相同。您可以使用 static 关键字定义静态字段。
示例
public class Sample{
static int num = 50;
public static void demo(){
System.out.println("Value of num in the demo method "+ Sample.num);
}
}
public class Demo{
public static void main(String args[]){
System.out.println("Value of num in the main method "+ Sample.num);
Sample.demo();
}
}输出
Value of num in the main method 50 Value of num in the demo method 50
从同一类中引用静态成员
如果要引用类本身(在同一类中)的静态成员,则无需引用该类,您可以直接访问静态成员。
示例
public class Sample{
static int num = 50;
public static void demo(){
System.out.println("Value of num in the demo method "+ Sample.num);
}
public static void main(String args[]){
demo();
System.out.println(num);
}
}输出
Value of num in the demo method 50
内部类
在 Java 中,您可以在类中嵌套类,它们被称为内部类。
语法
public class Outer{
public class Inner{
}
}当您在一个类中嵌套另一个类时,它就像外部类的实例成员。因此,如果声明一个内部类为静态的,则可以使用其名称访问其(内部类)的成员,如下所示:
outer_class_name.inner_class_name.members
示例
class OuterDemo {
static int data = 200;
static class InnerDemo {
public static void my_method() {
System.out.println("This is my nested class");
System.out.println(OuterDemo.data);
}
}
}
public class StaticClassExample{
public static void main(String args[]) {
System.out.println(OuterDemo.data);
//Outer.InnerDemo nested = new Outer.InnerDemo();
OuterDemo.InnerDemo.my_method();
}
}输出
200 This is my nested class 200
如果尝试引用静态内部类的(静态)成员,则也不需要使用外部类名,您只需使用内部类名(仅)引用该成员即可。
示例
class OuterDemo {
static int data = 200;
static class InnerDemo {
public static void my_method() {
System.out.println("This is my nested class");
System.out.println(OuterDemo.data);
}
}
public static void main(String args[]) {
System.out.println(data);
InnerDemo.my_method();
}
}输出
200 This is my nested class 200
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP