我刚看了一个名为“很多方法和实例”的youtube教程。他做了一个程序,你在其中输入了一些东西,然后它说“你的第一个gf是 _ ”。但这太复杂了。首先是主要课程:
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();
}
}
接下来是它创建对象的类:
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());
}
}
看起来太复杂了,标题是我不理解的所有东西,考虑到我还是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);
}
}
有人可以告诉我做啧啧所说的事情,以及标题词是什么意思吗?
非常感谢,Dan
答案 0 :(得分:4)
本教程被命名为“许多方法和实例”,我的POV非常简单地展示了如何创建一个类,实例化它并调用它的方法。它本来被称为“得到一些控制台输入并吐出来”,如果它是为了尽可能最简单的方式做事。
视频教程的重点是不要创建过于复杂的程序,而是演示如何调用对象上的方法。< / p>
你有一个名为MethodInstances的类(不是一个很好的例子名称,btw),你实例化它,然后调用它上面的方法来保存状态(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());
}
}
您通过避免创建单独的类并使用局部变量来缩短过程。它有效,但更容易,但这不是教程试图教的内容。
我建议在进入OOP之前找到更简单的初学者示例,或者......拥抱OOP并运行它。
顺便说一句,通过始终以最简单的方式做事,你不会成为一名程序员。最简单的只是在近期内最简单。任何不那么琐碎的项目,即使有点复杂,也会以最简单的方式迅速变得站不住脚。答案 1 :(得分:1)
它看起来像是一个在类中演示 getter 和 setter 方法的教程,即数据隐藏。您使用 setter方法向对象添加内容,然后使用 getter方法检索它。
是的,这太复杂了。但是这种技术对于更大,更真实的问题非常有用。
答案 2 :(得分:1)
对于您的代码使用的初学者 test.next(); 代替原件 input.nextLine();
printf是程序员已知的最古老的功能之一,大约30岁!
它使用众所周知的通用格式参数来“美化”你的文本输出并将不同的类型插入到字符串中。
答案 3 :(得分:0)
第二个类只包含一个名为“girlName”的字符串。由于此字段具有私有访问权限,因此无法从其自己的类外部访问(请参阅数据隐藏)。
因此,您可以使用所谓的getter和setter方法,可以从外部访问 - 设置String值或接收它。
你写的不是:
MethodsInstances.girlName = "myGirlsName";
MethodsInstances.setName("myGirlName");