我正在学习Java初学者课程,我正在做我的第一个面向对象的作业。我确实了解OOP的基础知识,但我不具备将其付诸实践所需的知识。如果有人能指出任何新手的错误或给我一些建议,我将非常感激。
class savings{
public static void main(String[] args){
double annualInterestRate = 0;
double monthlyInterest = 0;
SavingsAccount saver1 = new SavingsAccount(2000, .03);
SavingsAccount saver2 = new SavingsAccount(4000, .03);
calculateMonthlyInterest(saver1);
System.out.println("Monthly Interest at 3%: " + monthlyInterest);
calculateMonthlyInterest(saver2);
System.out.println("Monthly Interest at 3%: " + monthlyInterest);
modifyInterestRate(saver1);
modifyInterestRate(saver2);
calculateMonthlyInterest(saver1);
System.out.println("Monthly Interest at 5%: " + monthlyInterest);
calculateMonthlyInterest(saver2);
System.out.println("Monthly Interest at 5%: " + monthlyInterest);
}
}
class SavingsAccount{
static double annualInterestRate;
static private double savingsBalance;
public static double calculateMonthlyInterest(double annualInterestRate){
double monthlyInterest = 0;
monthlyInterest = savingsBalance * annualInterestRate / 12;
return monthlyInterest;
}
public static void modifyInterestRate(double annualInterestRate){
annualInterestRate = .05;
}
SavingsAccount(double savingsBalance, double annualInterestRate){
this.savingsBalance = savingsBalance;
this.annualInterestRate = annualInterestRate;
}
}
F:\Archive\Homework_Spring_2014\Java\Project 2\Savings\savings.java:7: error: cannot find symbol
calculateMonthlyInterest(saver1);
^
symbol: method calculateMonthlyInterest(SavingsAccount)
location: class savings
F:\Archive\Homework_Spring_2014\Java\Project 2\Savings\savings.java:9: error: cannot find symbol
calculateMonthlyInterest(saver2);
^
symbol: method calculateMonthlyInterest(SavingsAccount)
location: class savings
F:\Archive\Homework_Spring_2014\Java\Project 2\Savings\savings.java:11: error: cannot find symbol
modifyInterestRate(saver1);
^
symbol: method modifyInterestRate(SavingsAccount)
location: class savings
F:\Archive\Homework_Spring_2014\Java\Project 2\Savings\savings.java:12: error: cannot find symbol
modifyInterestRate(saver2);
^
symbol: method modifyInterestRate(SavingsAccount)
location: class savings
F:\Archive\Homework_Spring_2014\Java\Project 2\Savings\savings.java:13: error: cannot find symbol
calculateMonthlyInterest(saver1);
^
symbol: method calculateMonthlyInterest(SavingsAccount)
location: class savings
F:\Archive\Homework_Spring_2014\Java\Project 2\Savings\savings.java:15: error: cannot find symbol
calculateMonthlyInterest(saver2);
^
symbol: method calculateMonthlyInterest(SavingsAccount)
location: class savings
6 errors
Tool completed with exit code 1
我相信这些错误是由跨类引用的方法造成的,但我不知道正确的方法。
对不起,你的一切都搞砸了。
我试图理解JVM的内存管理方案 考虑A、B两类 从主B B=新B(); 据我所知,类加载器将加载A、B,并分别创建2个对象。是否有任何其他对象将被创建? 另外,我问题的第二部分是,在访问Java Visual VM时,我看到Java NIO包的对象已经创建。有什么方法可以阻止JVM创建与我的项目无关的对象吗?
我们已经讨论了类与对象的功能部分,现在我们来看一下它的数据部分。事实上,它们只是与类和对象的名称空间 绑定 的普通变量,即这些名称只在这些类与对象的前提下有效。 有两种类型的 域 ——类的变量和对象的变量,它们根据是类还是对象 拥有 这个变量而区分。 类的变量 由一个类的所有对象(实例)共享使用。只有一个类变量的拷贝,所以当某个对象对类的变量做了改动的时候,这个改动会反映到所有其他的实例上。 对象
我有一个父类,它定义了链表方法(返回“this”的方法)的集合。我想定义多个子类,这些子类包含自己的链式方法,但也“重写”父方法,以便返回子类的实例而不是父类。 我不想在每个子类中重复相同的方法,这就是为什么我有一个父类,其中包含所有子类共享的方法。谢谢
因此,每个功能区显然都在数据库中,但它们还需要一些逻辑来确定用户何时获得了功能区。 按照我的编码方式,是一个简单的接口: 是一个抽象类,它实现了接口,避免了方法的定义: 现在,将像这样实现一个特定的功能区: 这段代码工作得很好,表是按照我期望的方式在数据库中创建的(我在本地环境中使用DDL生成)。 问题是,在域对象中编写业务逻辑感觉是错误的。这是好的练习吗?你能提出一个更好的解决方案吗?此外,我不
我试图在有向图中检测一个循环 在提出解决该问题的逻辑时,我发现一个简单的图遍历等式dfs就足够了,因为在执行dfs时,我们可以有一个条件来查看是否已经访问了任何节点。如果是这样,就必须有一个循环 在查找交叉检查逻辑的解决方案时,我遇到了这样一个解决方案,即在执行dfs的同时跟踪访问的节点,您还需要跟踪递归堆栈中的节点,如果一个节点已经在递归堆栈中,那么就有一个循环-我不理解 当我们可以简单地检查是