java - Main 如何访问类?

标签 java class methods program-entry-point accessor

我是编码新手,我制作了这个程序,允许有人输入歌曲名称、艺术家、专辑、发行年份,然后我将其打印出来。因此,虽然我可以编写程序,但我不明白 main 如何获得对 CD 类的访问权限。计算机怎么知道我正在用我的其他类(class)制作 CD?为什么我能够使用 CD 类中的访问器方法?对不起,如果这听起来很愚蠢,但我试图理解它为什么有效!感谢您的回答。

感谢所有回答的人!现在说得通了!

package project1;

public class CD {
    private String song;
    private String artist;
    private String album;
    private int year;

    public CD(String givenSong, String givenArtist, String givenAlbum, int givenYear)
    {
        song=givenSong;
        artist=givenArtist;
        album=givenAlbum;
        year=givenYear;
    }
    public String getSong(){
        return song;
    }
    public int getYear(){
        return year;
    }
    public String getArtist(){
        return artist;
    }
    public String getAlbum(){
        return album;
    }
}

和主要..

package project1;

public class CDTest {
    public static void main(String[] args){
        CD cd1= new CD("Sad machine","Porter Robinson","Worlds",2014);
        System.out.print(cd1.getSong()+", ");
        System.out.print(cd1.getArtist()+", ");
        System.out.print(cd1.getAlbum()+", ");
        System.out.print(cd1.getYear());
    }

}

最佳答案

您在同一个包中定义了两个类。在同一包中定义的类可以使用简单的名称来引用它们自己,而不需要完全限定名称(例如 project1.CD)或导入语句(例如 import project1.*)。 Here's more information about Java packages .

CDTest 类可以在 CD 类上执行方法,因为这些方法是public —— 任何类都可以访问。这与假设访问 CD 类成员的 CDTest 形成对比。它不能,因为它们是 privateHere's more information about access levels such as public and private

关于java - Main 如何访问类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25798208/

相关文章:

java - 继承 BlockJUnit4ClassRunner 时的 Eclipse/JUnit "Test class not found"

C++ sizeof 自定义类返回不正确的值?

python - 为什么在没有 "self"且没有装饰器的情况下声明的 Python 类的方法不会引发异常?

c++ - 具有可以是两种类型之一的数据成员的类

java - 如何使 Java 方法变得通用?

python - 使用将多个变量分配给Python对象

java - HttpUrlConnection - 奇怪的延迟

java - Spring Data JPA 在使用实体图并且映射对象不存在时运行额外的选择查询(空)

javascript - 单页应用程序 (SPA) 与全栈应用程序。限制和优势。

c# - 循环列表空元素