나는 수퍼 클래스, 추상화 등에 대해 읽었다. 나는 일반적인 아이디어의 대부분을 이해한다. 현재 3 개의 클래스가 있습니다. (주, 수퍼 클래스, 서브 클래스)자바의 수퍼 클래스에서 데이터 반환하기
1 등급 : 자동차의 종류에 대해 사용자 마일과 갤런을 가져 와서 데이터를 서브 클래스로 보냅니다. 하위 클래스는 데이터를 변수로 설정합니다.
나는 차를 위해 갤런 당 마일을 인쇄하는 방법을 계산하려고 노력하고있다. 이 계산 방법은 수퍼 클래스 내에 있지만 메서드를 인쇄 할 방법을 찾을 수 없습니다. 다음은 내 코드입니다 :
홈페이지
import java.util.Scanner;
public class StartingPoint {
public static void main (String[]args)
{
Scanner input = new Scanner(System.in); //Get user input
Mercedes mCar = new Mercedes(); //Accesses subclass of the Car superclass (Mercedes)
Toyota tCar = new Toyota(); //Accesses subclass of the Car superclass (Toyota)
System.out.println("Do you own a mercedes or a toyota?"); //Get car type
String carName = input.nextLine();
if (carName.charAt(0) == 'm' || carName.charAt(0) == 'M')
{
System.out.println("How many miles have you travelled?");
double miles = input.nextDouble();
System.out.println("How many gallons have you used?");
double gallons = input.nextDouble();
mCar.setGallons(gallons);
mCar.setMiles(miles);
}
else if (carName.charAt(0) == 't' || carName.charAt(0) == 'T')
{
//NOT CODED YET
}
else
{
System.out.println("Not a valid car name for the system...");
}
}
}
슈퍼 클래스
public abstract class Car {
public double calcMPG(double miles, double gallons)
{
return (miles/gallons);
}
}
슈퍼 클래스 (자동차)의 서브 클래스
public class Mercedes extends Car {
private double miles;
private double gallons;
public Mercedes()
{
miles = 0;
gallons = 0;
}
public void setMiles(double inputMiles)
{
miles = inputMiles;
}
public void setGallons(double inputGallons)
{
gallons = inputGallons;
}
}
이 줄을 내 주 수업에 추가했습니다.이 방법을 사용하는 것이 가장 좋은 방법인지는 확실하지 않습니다. System.out.println (Mercedes.calcMPG (miles, gallons)); – KnowledgeGeek
메르세데스 클래스에 메쏘드 (calc)를 추가하고 super.calcMPG (miles, gallons)를 호출하고 그 메쏘드 print .. System.out.println (super.calcMPG (miles, gallons) and – KnowledgeGeek