Java 创建具有类名的类

Java 创建具有类名的类,java,class,public,Java,Class,Public,我是Java的初学者。有人能帮我理解以下概念吗 我在这里所做的是尝试创建一个类,名为Sample,我在下面提到过,我在这里打印您在Main方法中 class Sample { public static void main(String args[]) { System.out.println("You are in Main Method"); } } 并将此java文件保存为Student.java 我在Eclipse中没有得到任何错误 现在,我在这个类

我是Java的初学者。有人能帮我理解以下概念吗

我在这里所做的是尝试创建一个类,名为
Sample
,我在下面提到过,我在这里打印
您在Main方法中

class Sample 
{
    public static void main(String args[]) {
        System.out.println("You are in Main Method");
    }

}
并将此java文件保存为Student.java

我在Eclipse中没有得到任何错误

现在,我在这个类前面指定了一个
public
作为
public类示例,我得到了一个错误


谁能用正确的答案为我澄清一下,因为我发现这很难理解?

在Java中,所有作用域为
public
的类都必须保存在文件中,该文件的名称与该类的名称完全相同。因此,如果您有名为
Sample
的类,则必须将其保存在名为
Sample.java
的文件中。如果类名为
Student
,则文件名应为
Student.java


原因之一是
命名和
名称可以轻松映射到实际的系统路径。

在Java中,所有作用域为
public
的类都必须保存在与该类名称完全相同的文件中。因此,如果您有名为
Sample
的类,则必须将其保存在名为
Sample.java
的文件中。如果类名为
Student
,则文件名应为
Student.java


其中一个原因是
命名和
名称可以轻松映射到实际系统路径。

确保类名等于附加了“.java”的文件名。因此,如果您将类命名为
Sample
,那么该文件应命名为
Sample.java
。这就是为什么会出现错误,因为您的类名与您为文件命名的类名不同


对于将来的参考,当您遇到编译器错误/运行时错误时,请确保在此处列出错误。它使处理问题变得容易得多,而且你得到一个实际解决问题的答案的机会也增加了

确保类名等于附加了“.java”的文件名。因此,如果您将类命名为
Sample
,那么该文件应命名为
Sample.java
。这就是为什么会出现错误,因为您的类名与您为文件命名的类名不同


对于将来的参考,当您遇到编译器错误/运行时错误时,请确保在此处列出错误。它使处理问题变得容易得多,而且你得到一个实际解决问题的答案的机会也增加了

所有公共类必须使用相同的名称保存。 所以,如果您有一个名为Sample的类,它必须保存在名为Sample.java的文件中

如果使用软件包,则必须将文件保存在此文件夹中。 Example com.Example,您必须将Sample.java保存在root/com/Example文件夹中

package com.example;

public class Sample{
   public static void main(String[] args){
   // put here your code
  }
}

必须使用相同的名称保存所有公共类。 所以,如果您有一个名为Sample的类,它必须保存在名为Sample.java的文件中

如果使用软件包,则必须将文件保存在此文件夹中。 Example com.Example,您必须将Sample.java保存在root/com/Example文件夹中

package com.example;

public class Sample{
   public static void main(String[] args){
   // put here your code
  }
}

公共类必须有自己的编译单元(即必须与类名匹配的
.java
文件),并编译成
ClassName.class
文件

这样,JDK知道应该在哪里生成输出
.class
文件,JVM知道从哪里加载
.class
文件

一个例外是内部/嵌套类,它们不需要单独的文件,并将字节码生成到
OuterClassName#InnerClassName.class
等文件中。内部类存储在与定义它们的外部类相同的
.java
文件中


注意:
ClassName
OuterClassName
InnerClassName
是您定义的类的名称。

公共类必须有自己的编译单元(即必须与类名匹配的
.java
文件)并编译成
ClassName.class
文件

这样,JDK知道应该在哪里生成输出
.class
文件,JVM知道从哪里加载
.class
文件

一个例外是内部/嵌套类,它们不需要单独的文件,并将字节码生成到
OuterClassName#InnerClassName.class
等文件中。内部类存储在与定义它们的外部类相同的
.java
文件中


注意:
ClassName
OuterClassName
InnerClassName
是您定义的类的名称。

首先阅读修改的可见性,我认为您已经很好地理解了您的问题

访问修饰符

Same Class  Same Package    Subclass    Other packages
公共图书馆 受保护的 无访问修饰符Y Y N
二等兵Y N

首先你读到修饰语的可见性,我想你很理解你的问题

访问修饰符

Same Class  Same Package    Subclass    Other packages
公共图书馆 受保护的 无访问修饰符Y Y N
private Y N

您需要删除`symbols我想您应该先阅读一下类和访问级别修饰符。你需要删除`符号我想你应该先读一读类和访问级别修饰符。你能详细解释一下这个访问修饰符是如何与我上面的问题联系在一起的吗?我无法理解我上面问题的解决方案。如果你能详细解释一下,我会更加感激你,提前感谢你。你能详细解释一下这个访问修饰符是如何与我上面的问题联系在一起的吗,我无法理解上述问题的解决方案,如果你能详细解释,我将更加感激,提前感谢