강의로 돌아가기
ParkHyeonho

답안입니다.

제 답안입니다.

작성중인 코드―Car.java
1
2
3
4
5
6
7
8
public class Car{
  public String name;
  public int number;

  public void drive(){
    System.out.println("차가 달립니다.");
  }
}
작성중인 코드―Bus.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public class Bus extends Car implements Runnable{
  //이미 Car를 상속받은 상태이기 때문에 Thread를 상속받을 수는 없습니다.
  //Runnable인터페이스를 implements하고 run메소드를 작성해 보세요.

    String str;

    public Bus(){

    }

    public Bus(String str){
        this.str = str;
    }

    public void run(){
        for(int i=0; i<5; i++){
            System.out.println(str);

            try{
                Thread.sleep(1000);
            }catch(Exception e){
                e.printStackTrace();
            }
        }
    }


}
작성중인 코드―RunnableExam.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class RunnableExam{
  public static void main(String [] argv){
    Bus bus = new Bus("버스가 달립니다.");
    Bus bus2 = new Bus("버스2가 달립니다.");
    /*
    Runnable을 구현한 클래스를 이용해 쓰레드를 이용할때는
    아래와 같이 Thread의 생성자에 해당 객체(bus)를 전달하면 됩니다.
    하지만 이대로 실행하면 에러가 발생합니다.
    bus가 runnable을 implements하고 있지 않기 때문입니다.
    */
    Thread busThread = new Thread(bus);
    Thread busThread2 = new Thread(bus2);

    busThread.start();
    busThread2.start();

      System.out.println("main End!!");
  }
}
1 개의 답변
Demi

감사합니다.

답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.