Java Set&;获取方法
我是这里的学生 我很难理解如何设置和获取方法。我正在独立编写第9版《Java编程》教材中的一个问题,我被要求做以下工作:Java Set&;获取方法,java,methods,get,set,Java,Methods,Get,Set,我是这里的学生 我很难理解如何设置和获取方法。我正在独立编写第9版《Java编程》教材中的一个问题,我被要求做以下工作: import java.util.Scanner; public class TestSandwich { public static void main(String[] args) { String Ingredient; String Bread; Double Price; Scanner keyboard = new Scanner(
import java.util.Scanner;
public class TestSandwich {
public static void main(String[] args) {
String Ingredient;
String Bread;
Double Price;
Scanner keyboard = new Scanner(System.in);
System.out.println("MAKE A SANDWICH");
System.out.println("Enter an ingredient: ");
Ingredient = keyboard.nextLine();
System.out.println("Enter bread: ");
Bread = keyboard.nextLine();
System.out.println("Enter a price");
Price = keyboard.nextDouble();
Sandwich obj = new Sandwich(Ingredient, Bread, Price);
System.out.println("The ingredient is " + obj.getIngredient());
System.out.println("The bread is " + obj.getBread());
System.out.println("The price is " + obj.getPrice());
}
}
“创建一个名为Sandwich
的类。数据字段包括主要成分(如金枪鱼)的String
、面包类型(如小麦)的String
、价格(如4.99)的double
。包括获取和设置每个字段值的方法。”
然后它要求我这样做:
“创建名为TestSandwich
的应用程序,该应用程序实例化一个Sandwich
对象,并演示set和get方法的使用。”
因此,在第一部分中,我使用以下代码创建了一个.java文件:
public class Sandwich {
private String ingredient;
private String bread;
private double price;
public Sandwich(String ing, String bre, double pri) {
ingredient = ing;
bread = bre;
price = pri;
}
public void setIngredient(String ing) {
this.ingredient = ing;
}
public String getIngredient() {
return ingredient;
}
public String getBread() {
return bread;
}
public Double getPrice() {
return price;
}
}
对于第二部分,我做了以下工作:
import java.util.Scanner;
public class TestSandwich {
public static void main(String[] args) {
String Ingredient;
String Bread;
Double Price;
Scanner keyboard = new Scanner(System.in);
System.out.println("MAKE A SANDWICH");
System.out.println("Enter an ingredient: ");
Ingredient = keyboard.nextLine();
System.out.println("Enter bread: ");
Bread = keyboard.nextLine();
System.out.println("Enter a price");
Price = keyboard.nextDouble();
Sandwich obj = new Sandwich(Ingredient, Bread, Price);
System.out.println("The ingredient is " + obj.getIngredient());
System.out.println("The bread is " + obj.getBread());
System.out.println("The price is " + obj.getPrice());
}
}
我完成了这个,它工作得很好,但是我意识到我没有创建任何集合方法。有人能根据指示向我解释一下更好的方法吗?我确信这种方法是可行的,但我希望能照本宣科,更好地理解它。我不确定从哪里开始创建set方法。请让我知道。非常感谢
附言:这不是家庭作业,我只是想更好地理解这一点
-标记简单的模仿:
System.out.println("Enter another price");
double newPrice = keyboard.nextDouble();
obj.setPrice(newPrice);
并在调用之前/之后打印您的
obj
(当然还有:@覆盖该类以获得有意义的输出)。在这里,您可以使用这些值创建一个对象
Sandwich obj = new Sandwich(Ingredient, Bread, Price);
这里创建一个空对象,然后设置值
Sandwich obj = new Sandwich();
obj.setIngredient(Ingredient);
obj.setBread(Bread);
obj.setPrice(Price);
在名为“三明治”的类中考虑以下代码:
public Sandwich(String ing, String bre, double pri) {
ingredient = ing;
bread = bre;
price = pri;
}
这称为构造函数,这是一种特殊的方法,与类具有相同的名称。但它不返回值。此构造函数接受三个参数,其中两个是字符串,一个是双精度值。在构造函数体中,实际上是将传递给构造函数的值设置为参数,因此可以将其视为一个同时设置三个值的SETTER方法。
现在在同一类内考虑这个代码:
public void setIngredient(String ing) {
this.ingredient = ing;
}
此方法是一种setter方法,只设置一个值,即成分。您可以创建其他setter方法,也可以这样命名您想要的任何名称。例如,三明治类中的setBread和setPrice方法如下:
public setBread(String bre) {
bread = bre;
}
public setPrice(double pri) {
price = pri;
}
您可以使用构造函数来设置值,也可以使用“setter方法”(它只是一个用于接受和设置值的普通方法)。您可以使用单个方法一次性设置所有值,这是构造函数正在做的事情,或者使用单个方法设置每个值,就像我们定义的setter方法一样
如果使用单个方法一次设置所有值(在本例中为构造函数),则在实例化三明治类期间,您需要一次将所有值传递给构造函数,就像这样:
Sandwich obj = new Sandwich(Ingredient, Bread, Price);
如果不按正确的顺序同时将三个变量传递给构造函数,则会发生编译错误。由于已经有一个构造函数设置了三个值,所以其他setter方法没有多大用处,除非以后需要更改这些值。我希望这有帮助。您有一个
setComponent()
方法。看看这个,对bread
和price
做同样的事情,请遵循Java命名约定:包、属性、变量、参数、方法必须以小写开头,而类,接口应以大写/开头,无需拆分声明和赋值。它可以一次完成double price=keyboard.nextDouble()代码>@azro你说得对,我道歉。我修好了,谢谢@GBLODGET我知道了,谢谢@幽灵猫我会修复它并记住它以备将来参考。谢谢这回答了实际问题。谢谢!我意识到构造函数和setter的使用有点多余。我现在已经把它编码为只使用构造函数。我很高兴我能帮上忙。