printf,说,getName setName

Dan*_*den 2 java methods printf instance

我刚刚看了一个名为“许多方法和实例”的 youtube 教程。他做了一个程序,你输入一些东西,上面写着“你的第一个女朋友是_ ”。但这太复杂了。首先是主类:

import java.util.Scanner;

public class MethodsInstances2 {
    public static void main(String args[]) {
        Scanner input = new Scanner(System.in);
        MethodsInstances object = new MethodsInstances();
        System.out.println("Enter name of first gf here: ");
        String temp = input.nextLine();
        object.setName(temp);
        object.saying();
    }
}
Run Code Online (Sandbox Code Playgroud)

接下来是它创建对象的类:

public class MethodsInstances {
    private String girlName;
    public void setName (String name){
        girlName=name;
    }
    public String getName (){
        return girlName;
    }
    public void saying(){
        System.out.printf("Your first gf was %s", getName());
    }
}
Run Code Online (Sandbox Code Playgroud)

考虑到我仍然是 Java 的新手,这似乎太复杂了,标题是我不明白的所有内容。这是我输入的速度提高了 4 倍的内容:

import java.util.Scanner;
public class programtest {
    public static void main(String args[]){
        Scanner test = new Scanner(System.in);
        String name;
        System.out.println("Enter the name of your first girfriend: ");
        name = test.next();
        System.out.println("Your first girlfriend was " + name);
    }
}
Run Code Online (Sandbox Code Playgroud)

有人能告诉我做tut说要做的事情的意义,标题词是什么意思吗?

非常感谢,丹

Pau*_*sik 5

本教程名为“许多方法和实例”,从我的 POV 中可以非常简单地展示如何创建一个类、实例化它并调用它的方法。如果它旨在以最简单的方式做事,它会被称为“获取一些控制台输入并将其吐出”。

视频教程的重点不是创建一个过于复杂的程序,而是演示如何在对象调用方法

您有一个名为 MethodInstances 的类(不是一个很好的示例名称,顺便说一句),您可以对其进行实例化,然后对其调用方法以保存状态(gf 名称)并将其取回并显示它。(我建议重构该示例以使其更有意义。因为它的措辞会引起混乱。)

试试这个:

import java.util.Scanner;

public class ObjectInstanceMethodExample {
    public static void main(String args[]) {
        Scanner input = new Scanner(System.in);
        FirstGirlfriend firstGF = new FirstGirlfriend();
        System.out.println("Enter name of first gf here: ");
        String temp = input.nextLine();
        firstGF.setName(temp);
        firstGF.sayFirstGirlfriendName();
    }
}

class FirstGirlfriend {
    private String girlName;
    public void setName (String name){
        girlName=name;
    }
    public String getName (){
        return girlName;
    }
    public void sayFirstGirlfriendName(){
        System.out.printf("Your first gf was %s", getName());
    }
}
Run Code Online (Sandbox Code Playgroud)

您通过避免创建单独的类并使用局部变量来缩短流程。它有效,更容易,但这不是本教程试图教授的内容。

我建议在开始使用 OOP 之前为初学者找到更简单的示例,或者……拥抱 OOP 并使用它运行。

顺便说一句,作为一名程序员,总是以最简单的方式做事是不会进步的。最简单的似乎只是在短期内最简单。通过以最简单的方式进行,任何具有一点复杂性的不平凡的项目都会很快变得站不住脚。