您的位置:首页 > 游戏 > 手游 > 针对315老坛酸菜企业解决方案_app下载平台服务_广东新闻今日大件事_百度关键词优化多久上首页

针对315老坛酸菜企业解决方案_app下载平台服务_广东新闻今日大件事_百度关键词优化多久上首页

2025/2/24 9:01:21 来源:https://blog.csdn.net/m0_46692380/article/details/145817840  浏览:    关键词:针对315老坛酸菜企业解决方案_app下载平台服务_广东新闻今日大件事_百度关键词优化多久上首页
针对315老坛酸菜企业解决方案_app下载平台服务_广东新闻今日大件事_百度关键词优化多久上首页

在 Java 中,类的声明有两种形式:

  1. public class Test

  2. class Test

它们的区别主要在于访问权限文件名的要求。下面我会详细解释这两种形式的区别。


1. public class Test

  • 访问权限

    • public 表示这个类是公共的,可以被其他包(package)中的类访问。

    • 如果没有 public,类的访问权限是包级私有(默认),只能被同一个包中的类访问。

  • 文件名的要求

    • 如果一个类被声明为 public,那么它的文件名必须与类名完全相同

    • 例如,public class Test 必须保存在 Test.java 文件中。

  • 使用场景

    • 当你希望这个类被其他包中的类使用时,需要声明为 public

示例

java

// 文件 Test.java
public class Test {public void sayHello() {System.out.println("Hello!");}
}

2. class Test

  • 访问权限

    • 如果没有 public,类的访问权限是包级私有(默认),只能被同一个包中的类访问。

    • 其他包中的类无法访问这个类。

  • 文件名的要求

    • 文件名不需要与类名相同。

    • 一个 .java 文件中可以包含多个非 public 类,但只能有一个 public 类。

  • 使用场景

    • 当你希望这个类只在当前包中使用时,可以不声明为 public

示例

java

// 文件 MyFile.java
class Test {void sayHello() {System.out.println("Hello!");}
}class AnotherClass {// 其他代码
}

关键区别总结

特性public class Testclass Test
访问权限公共的,可以被其他包访问包级私有,只能被同一个包中的类访问
文件名要求文件名必须与类名相同(Test.java文件名可以与类名不同
一个文件中的数量一个文件中只能有一个 public 类一个文件中可以有多个非 public 类
使用场景需要被其他包中的类访问时使用只在当前包中使用时使用

举个例子

场景 1:public class Test

java

// 文件 Test.java
public class Test {public void sayHello() {System.out.println("Hello!");}
}
  • 这个类可以被其他包中的类访问。

  • 文件名必须是 Test.java

场景 2:class Test

java

// 文件 MyFile.java
class Test {void sayHello() {System.out.println("Hello!");}
}class AnotherClass {// 其他代码
}
  • 这个类只能被同一个包中的类访问。

  • 文件名可以是 MyFile.java,不需要与类名相同。


总结

  • public class Test

    • 类是公共的,可以被其他包访问。

    • 文件名必须与类名相同。

  • class Test

    • 类是包级私有的,只能被同一个包中的类访问。

    • 文件名可以与类名不同。

选择哪种形式取决于你的需求:

  • 如果类需要被其他包访问,使用 public class

  • 如果类只在当前包中使用,使用 class

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com