编写一个方法,该方法接受对象作为参数,并使用其方法执行某些操作(java)
我有老师提供的清单,他想让我知道每个概念。我对他们都很了解,除了名单上的最后一个: -熟悉变量、声明和初始化以及int、double、String和Boolean等基本数据类型 -了解条件逻辑。能够写出if语句 -能够编写一些基本的for或while循环 -能够编写一个简单的方法,它接受一些参数并返回一些信息 -对对象有足够的了解,能够声明、实例化它们,并使用它们的方法进行操作 -能够编写一个接受对象作为参数的方法,并使用其方法执行某些操作 我做了一个小项目来测试我对这些东西的了解程度,我没有任何参考资料,甚至谷歌: (这也是位于底部的代码,但更容易查看) 我不确定我在这个项目中使用了最后一个需求(粗体),但是如果我使用了,请让我知道(以及在哪里) 如果我没有使用它(我很确定是这样),我如何在这个项目中实现它 我没有尝试太多,因为我根本不知道如何在Java中以粗体显示步骤编写一个方法,该方法接受对象作为参数,并使用其方法执行某些操作(java),java,Java,我有老师提供的清单,他想让我知道每个概念。我对他们都很了解,除了名单上的最后一个: -熟悉变量、声明和初始化以及int、double、String和Boolean等基本数据类型 -了解条件逻辑。能够写出if语句 -能够编写一些基本的for或while循环 -能够编写一个简单的方法,它接受一些参数并返回一些信息 -对对象有足够的了解,能够声明、实例化它们,并使用它们的方法进行操作 -能够编写一个接受对象作为参数的方法,并使用其方法执行某些操作 我做了一个小项目来测试我对这些东西的了解程度,我没有任
package banking;
public class Accounts {
String name;
double balance;
public Accounts() {
name = "";
balance = 0.0;
}
public void setName(String newName) {
name = newName;
}
public String getName() {
return name;
}
public double getBalance() {
return balance;
}
public void addFunds(double addedAmount) {
balance = balance + addedAmount;
}
public void withdraw(double withdrawnAmount) {
balance = balance - withdrawnAmount;
}
}
package banking;
import java.util.Scanner;
public class BankSimulator {
public static void main(String[] args) {
Accounts a1 = new Accounts();
Scanner scAccountName = new Scanner(System.in);
System.out.println("Hello and welcome to the banking system. Please enter a name to create an account, no spaces: ");
a1.setName(scAccountName.next());
System.out.println("Account name: " + a1.getName());
int count = 0;
while(count == 0) {
int toDo;
Scanner scToDo = new Scanner(System.in);
System.out.println("What would you like to do next?" + "\n" +
"Change account name: press 1" + "\n" +
"See account name: press 2" + "\n" +
"Check balance: press 3" + "\n" +
"Add money to balance: press 4" + "\n" +
"Withdraw money from balance: press 5" + "\n" +
"Exit program: press 6: ");
toDo = scToDo.nextInt();
if(toDo == 1) {
Scanner scNewAccountName = new Scanner(System.in);
System.out.println("Enter new account name: ");
a1.setName(scNewAccountName.next());
System.out.println("Account name: " + a1.getName());
}
else if(toDo == 2) {
System.out.println("Account name: " + a1.getName());
}
else if(toDo == 3) {
System.out.println("Current balance: $" + a1.getBalance());
}
else if(toDo == 4) {
Scanner scAddMoney = new Scanner(System.in);
System.out.println("Desired amount to add: $");
a1.addFunds(scAddMoney.nextDouble());
System.out.println("Money successfully added to balance.");
}
else if(toDo == 5) {
Scanner scWithdrawMoney = new Scanner(System.in);
System.out.println("Desired amount to withdraw: $");
a1.withdraw(scWithdrawMoney.nextDouble());
System.out.println("Money successfully withdrawn from balance.");
}
else if(toDo == 6) {
System.out.println("Thank you for using our banking system. Until next time.");
count = 1;
}
}
}
}
我不太明白你的问题。但是如果您要编写一个方法,该方法接受一个对象作为参数,并使用它的方法来做一些事情,您可以这样尝试
public interface Human {
void say();
}
public void test(Human human) {
...
human.say();
...
}
.....
public static void main(String[] args) {
...
object.test(new Human{
@Override
public void say() {
System.out.println("saying...")
}
})
}
或者简单地传递lambda作为参数
object.test(() -> System.out.println("saying"))
如果您的问题确实不理解以下要点: -能够编写一个接受对象作为参数的方法,并使用其方法执行某些操作 你已经在做了!让我们来分析一下 “编写一个接受对象作为参数的方法” 这意味着我们需要编写一个方法,在它的方法中接受一个对象——类的一些实例化。因此,改写它的一种方法可能是:“我们需要一个动作,它需要一个对象(随后能够执行动作)来执行它的动作。” 因此,您创建了一个新帐户,
a1
,使用以下行:Accounts a1=new Accounts()代码>
行中:a1.setName(scAccountName.next())代码>,您正在使用
方法(setName
),该方法正在传递对象的结果
(scAccountName
)的方法(.next()
)
因此,如果我们将其分解:
- 方法:
.setName()
- 传递的对象:
SCAAccountName
- 对象的方法:
.next()
恭喜=)你到底有什么问题?您不明白如何对对象调用方法吗?(提示:您已经在做了!)您不知道如何将对象作为参数传递吗?(提示您已经在做了!)您不能想出一个要实现的示例吗?提示:考虑“从代码中转移X $ > 帐户到另一个帐户。我建议在堆栈溢出中读取,这样您就可以缩小您的问题。