【Java】public class Person{}和public Person{} 和 public Person person究竟都有哪些区别呢。
public class Person{}和public Person{} 和 public Person person 和 public static void mian(String[] args) 究竟都有哪些区别呢。
以下是Java中public class Person{}
、public Person{}
、public Person person
和public static void main(String[] args)
的区别解析:
一、public class Person{}
定义:声明一个公共类,类名为Person
。
用途:
- 表示这是一个可被其他包访问的类(
public
修饰符的作用)。 - 类名必须与Java源文件名完全一致(如
Person.java
)。 - 一个Java文件中最多只能有一个
public class
。
示例:
// Person.java文件
public class Person {
// 类体(属性、方法等)
}
二、public Person{}
定义:构造方法的声明,用于初始化对象。
用途:
public
表示构造方法对外可见,允许其他类通过new Person()
创建对象。- 如果省略访问修饰符,则默认为包私有(只能在同包内访问)。
- 构造方法名必须与类名完全一致(如
Person
)。
示例:
public class Person {
// 公共构造方法
public Person() {
// 初始化代码
}
// 带参数的构造方法
public Person(String name) {
// 初始化代码
}
}
三、public Person person
定义:声明一个公共的成员变量,类型为Person
,变量名为person
。
用途:
- 表示该成员变量(实例变量或静态变量)可被其他类直接访问(需结合
static
修饰符决定是否属于类或对象)。 - 如果未显式初始化,默认值为
null
(引用类型)。
示例:
public class Main {
// 公共的Person类型成员变量
public Person person = new Person("Alice");
}
四、public static void main(String[] args)
定义:Java程序的入口方法,固定语法结构。
用途:
public
:允许JVM从任何位置调用该方法。static
:无需创建类实例即可调用(JVM直接加载到内存执行)。void
:方法无返回值(程序执行的起点不需要返回数据)。String[] args
:接收命令行参数(如java Main arg1 arg2
)。
示例:
public class Main {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
五、对比总结
语法结构 | 类型 | 作用 | 关键修饰符 |
---|---|---|---|
public class Person{} | 类声明 | 定义可全局访问的类 | public (强制匹配文件名) |
public Person{} | 构造方法 | 初始化对象 | public (可自定义访问) |
public Person person | 成员变量声明 | 存储对象或类属性 | public (控制可见性) |
public static void main | 程序入口方法 | 作为JVM执行的起点 | public static void |
六、常见误区
public Person{}
的命名:- 构造方法名必须与类名一致,否则编译错误。
public class
的限制:- 每个Java文件只能有一个
public class
,且文件名必须与public class
名一致。
- 每个Java文件只能有一个
main
方法的特殊性:- 即使类中有多个
main
方法,只有public static void main(String[] args)
会被JVM调用。
- 即使类中有多个
通过理解这些语法结构的差异,可以更好地组织Java代码并遵循面向对象设计原则。