- 1
[SOLVED] can't override the method
I have no idea what the super class is even supposed to do and because the Account method for amount is private, when I do try to call amount it won't call it. I wanna keep it private so I can learn to override with private methods but I don't know how. Code is in comments.
8 Respuestas
+ 4
public class Main {
public static void main(String[] args) {
int a = 5;
double b = 10.2;
System.out.println(doubleTheValue(a));
System.out.println(doubleTheValue(b));
}
//complete the method for integer value type
public static int doubleTheValue(int a) {
return a*2;
}
//overload the method for double value type
public static double doubleTheValue(double a) {
return a*2;
}
}
//program to implement override
+ 1
Serana Zentha
instead of 'private' members, you can have 'protected' members. The protected members will be accessible in the class as well as all the classes that inherit from it.
https://www.sololearn.com/learning/2156/
I hope I understood your question correctly. Also, instead of copy pasting the code in the answers to the thread, save it as a Java code in the code playground and link it here. That way you won't be limited by the character limit of the answers and also it will be easier to reference line numbers and compiler errors/warnings
+ 1
Hehe I hope you know that the cat isn't mine. It is a meme cat😅
0
import java.util.Scanner;
class Main
{
public static void main(String[] args)
{
Scanner read = new Scanner(System.in);
double saving = read.nextDouble();
double checking = read.nextDouble();
Account savingAcc = new SavingAcc(saving);
Account checkingAcc = new CheckingAcc(checking);
System.out.println(savingAcc.getIncome());
System.out.println(checkingAcc.getIncome());
}
}
class Account
{
private double amount;
public Account(double amount)
{
this.amount = amount;
}
public double getAmount()
{
return amount;
}
public double getIncome()
{
return 0;
}
}
class SavingAcc extends Account
{
public SavingAcc(double amount)
{
super(amount);
}
//Override the method for saving account
public double getIncome()
{
return amount+(amount*0.2);
}
}
0
Class CheckingAcc extends Account
{
public CheckingAcc(double amount)
{
super(amount);
}
//override the method for checking account
public double getIncome()
{
return amount+(amount*0.05);
}
}
(Ignore bracket mistakes could not fit code into one comment by copy paste)
0
I figured out that you can't override if the main class you're getting the information from is retricted, so it can't be private. That sucks.
0
Ok, thank you so much XXX nice cat btw
0
public class Main {
public static void main(String[] args) {
int a = 5;
double b = 10.2;
System.out.println(doubleTheValue(a));
System.out.println(doubleTheValue(b));
}
//complete the method for integer value type
public static int doubleTheValue(int x) {
return x*2;
}
//overload the method for double value type
public static double doubleTheValue(double y) {
return y*2;
}
}