微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有人可以解释这段代码是如何编译的

如何解决有人可以解释这段代码是如何编译的

我是110%刚接触编码的人,并且正在学习Java。我一直在跟Codecademy一起学习Java课程,到目前为止,它一直很棒,但是我不知道该程序的某些工作原理:

public class Store {
    //instance fields
    String productType;

    //constructor method
    public Store(String product) {
        productType = product;
    }

    public void greetCustomer(String customer) {
        System.out.println("Welcome to the store," + customer + "!");
    }

    //advertise method
    public void advertise() {
        String message = "Selling " + productType + "!";
        System.out.println(message);
    }

    //main method
    public static void main(String[] args) {
        Store lemonadeStand = new Store("Lemonade");
        lemonadeStand.greetCustomer("Tyler");
    }
}

输出为:“欢迎光临商店,泰勒!”

但是其余的代码又发生了什么呢?仅在main()中调用方法时才发生输出吗?我只调用了advertise()方法,其他方法都被排除在输出之外了吗?

感谢您的帮助!我真的想养成学习我的代码实际作用的习惯,而不是仅仅做一些有用的事情而不知道为什么!

解决方法

要回答您的问题,代码的其余部分仅存在,是的,您需要在main()中调用您的方法以运行代码。就像Sweeper所说的那样,您没有调用advertise方法,只有GreetCustomer()。

如果我要看一下您的代码,实际上就是我逐步看待它的方式:

首先,您创建一个名为productType的String变量。

然后在第一个方法public Store()中,接受一个参数(括号中的输入),并将productType分配为该值。

然后,您有一个greetCustomer()方法,该方法带有一个名为“ customer”的String参数,并且该方法将显示“欢迎使用商店((称为客户的参数值)”!)。

您的advertise()方法不接受输入,而是打印消息行。

Main创建一个新的Store变量,名为LemonadeStand,并将productType变量/字符串设置为“ Lemonade”。

您要打印的是greetCustomer()方法,该方法主要被称为lemonadeStand.greetCustomer(“ Tyler”),该方法将“ Tyler”作为arg并返回“ Welcome to store Tyler!”。

如果您想做广告,可以做lemonadeStand.advertise();

,

对于任何Java程序,main()方法都是入口点。您将代码编译为类文件。然后,您执行类文件以运行程序。在运行时,JRE将检查类文件中的main()方法。它将从那里开始执行代码。如果没有main()方法,JRE将引发错误。因此,要执行任何代码,都应确保从main()方法调用它,或从实际上从main方法调用的方法中调用它。在这种情况下,您可以从main方法调用advertise()或从从main()方法调用的greetCustomer()方法调用它。在这两种情况下,您都将在控制台中打印出预期的行。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。