Нужно описать 2 класса, подскажите правильно ли я это сделал? Если нет подскажите как сделать правильно. Заранее спасибо.
public interface Transport { public void go(); }
public class Car implements Transport{
private String color;
private Double price;
private int age;
private int speed;
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public Double getPrice() {
return price;
}
public void setPrice(Double price) {
this.price = price;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Car(String color, Double price, int age, int speed) {
this.color = color;
this.price = price;
this.age = age;
this.speed = speed;
}
public void go() {
System.out.println("Понеслась!");
}
public int getSpeed() {
return speed;
}
}
public class Motorcycle implements Transport {
private String color;
private Double price;
private int age;
private int speed;
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public Double getPrice() {
return price;
}
public void setPrice(Double price) {
this.price = price;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void setSpeed(int speed) {
this.speed = speed;
}
public Motorcycle(String color, Double price, int age, int speed) {
this.color = color;
this.price = price;
this.age = age;
this.speed = speed;
}
public void go() {
System.out.println("Поехали!");
}
public int getSpeed() {
return speed;
}
}
public class Main {
public static void main(String[]args) {
Car volvo = new Car("Red", 520000.00, 7, 90);
System.out.println(volvo.getSpeed());
volvo.go();
Motorcycle scorpio = new Motorcycle("Green", 320000.00, 3, 75);
System.out.println(scorpio.getSpeed());
scorpio.go();
}
}
Используйте принципы ООП. У вас у обоих сущностей одинаковые поля и методы, различается лишь поведение в методе go, кроме того вы не используете интерфейс в классе Main.
public interface Vehicle {
void go();
int getSpeed();
int getAge();
double getPrice();
String getColor();
}
public abstract class Transport implements Vehicle {
private final String color;
private final Double price;
private final int age;
private final int speed;
public Transport(String color, Double price, int age, int speed) {
this.color = color;
this.price = price;
this.age = age;
this.speed = speed;
}
@Override
public int getSpeed() {
return speed;
}
@Override
public int getAge() {
return age;
}
@Override
public double getPrice() {
return price;
}
@Override
public String getColor() {
return color;
}
}
public static void main(String[] args) {
Vehicle car = new Car("Red", 520000.00, 7, 90);
Vehicle moto = new Motorcycle("Green", 320000.00, 3, 75);
List<Vehicle> myTransport = Arrays.asList(car, moto);
for (Vehicle vehicle : myTransport) {
vehicle.go();
System.out.println(vehicle.getSpeed());
}
}
private static class Car extends Transport {
public Car(String color, Double price, int age, int speed) {
super(color, price, age, speed);
}
@Override
public void go() {
System.out.println("gogo car");
}
}
private static class Motorcycle extends Transport {
public Motorcycle(String color, Double price, int age, int speed) {
super(color, price, age, speed);
}
@Override
public void go() {
System.out.println("gogo moto");
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Как можно хранить в одном массиве (1)ссылки на другой массив(2)Производя изменения во втором массиве менялись значения в первом
Я использую эмулятор AVD Android Studio в UbuntuЭмулятор работает нормально только тогда когда я запускаю приложения стандартные
В лекции Шипилева есть замечание о том, что в java из базовых типов есть 8 примитивов типов и ссылка(8:30)Но ведь ссылка - это один из классов пакета...
Делаю андроид приложениеНа DataBinding описываю смену врагментов в рамках одной активити