java 練習問題


1

DriveTaxi1.java
// 実行クラス
public class DriveTaxi1{
  public static void main(String[] args){
    Taxi1 t1 = new Taxi1();
    t1.setNo(2525);
    t1.start();
    t1.run();
    t1.display();
  }
}
Car1.java
// スーパークラス
public class Car1{
  private int no;

  public void setNo(int n){
    no = n;
  }
  public void display(){
   System.out.println("ナンバーは" + no + "です");
  }
}
Taxi1.java
// サブクラス
public class Taxi1 extends Car1{
  private int price;
  
  public void start(){
    price = 420;
  }
  public void run(){
    price = price + 80;
  }
  public void display(){
    System.out.println("料金は"+ price + "円です");
  }

2

Car2.java
// スーパークラス
public class Car{
  private int no;

  public Car2(int no){
    this.no = n;
  }
  public void display(){
   System.out.println("ナンバーは" + no + "です");
  }
}
Taxi2.java
// サブクラス
public class Taxi1 extends Car1{
  private int price;
  
  public Taxi2(int no){
    this(no, 0) 
  }
  public Taxi2(int no, int price){
    super(no);
    this.price = price;
  }
  public void start(){
    price = 420;
  }
  public void run(){
    price = price + 80;
  }
  public void display(){
    super();
    System.out.println("料金は"+ price + "円です");
  }

3

DriveTaxi.java
// 実行クラス
class DriveTaxi{
  public static void main(String[] args){
    Car c = new Car();
    System.out.println("------");
    Taxi t1 = new Taxi(2525);
    System.out.println("------");
    Taxi t0 = new Taxi();
    System.out.println("------");
    Taxi t2 = new Taxi("2525");
  }
}
Car.java
// スーパークラス
class Car{
  Car(){
    System.out.println("Car()");
  }
  Car(int no){
    System.out.println("Car(int no)");
  }
}
Taxi.java
// サブクラス
class Taxi extends Car{
  Taxi(){
    this(9999);
    System.out.println("Taxi()");
  }
  Taxi(int no){
    super(no);
    System.out.println("Taxi(int no)");
  }
  Taxi(String no){
    // ここで自動的にsuper();が呼び出される 
    System.out.println("Taxi(String no)");
  }
}
  • 実行結果
Car()
------
Car(int no)
Taxi(int no)
------
Car(int no)
Taxi(int no)
Taxi()
------
Car()
Taxi(String no)