class AA{
public void sub() { }
}
class BB extands AA {
public void sub() throws Exception{ }
}
오버라이드된 메소드에는 throws를 하면 안된다.
그럼 부모의 메소드까지 전부다 throws해야하기 때문이다.
Component(도구)
ex)연필
Button, TextField, Panel,...
Container
ex)필통
Frame, Dialog
근데 Conainer에도 크고작은게 있어서 Dialog안에 Frame을 담을 수 있다.
예외처리
![]() |
![]() |
만약 사자를 없애면![]() 이런 오류가 나온다. 1번방에 데이터가 없다는 오류다. |
try~ catch
![]() 앞서 arg[0]값에 argument로 호러랑이를 저장했고 args를 num1에 저장했다. |
![]() num1은 String이고 우리가 입력한건 int이기 때문에 /를 하면 타입이 달라 오류가 나온다. |
![]() 근데 이런 식으로 실행부에 try로 잡고 catch로 오류 메세지를 출력하는 Number~~~어쩌고 를 통해 |
![]() 이렇게 메시지를 출력한다. |
근데 수학적인 오류는 위의 방법으로는 오류가 나온다![]()
|
![]() 0/25가 되어 연산오류가 난다. |
![]() cathch를 하나 더 잡아주고 Ari~~를 이용하면 |
![]() 빨간 메세지가 아닌 우리가 정한 오류메세지를 출력할 수 있다. ![]() 에(double)로 형변환 넣어주면 오류안나고 계산한다. ![]() ![]() |
DB처리할 때 사용하는 finally라는게 있다 |
![]() 작동 순서는 이렇고 |
![]() 이렇게 선언해주면 |
![]() 이렇게 결과를 도출한다. |
지금까지의 Argument상태![]() 이 부분을 문자로 바꾸고 실행해도 finally덕분에 오류가 안난다. ![]() |
ㅇㅇㅇㅇㅇㅇㅇ
먼저 구구단을 만든다![]() bufferedReader부분의 예외처리가 전에 배운거랑 쪼금 다르니 읽어보기 |
![]() |
![]() try에서 에러를 감지하면 |
![]() e.printStackTrace(); 코드 가 오류를 추적해서 출력한다. |
예외처리2
![]() 클래스를 만들고 |
![]() 앞서만든 클래스에 저렇게 넣어주면 |
![]() 오류가 좀 다르게 나온다. ![]() |
그리고![]() 저 부분을 사용하면 |
![]() 오류부분에 오류나는 클래스명까지 나온다. |
Thread
![]() 작동 순서 |
![]() 스레드 상속받고 new로 스레드 3개 생성 |
![]() |
![]()
|
![]() 스레드에 이름넣기 |
![]() 스레드가 몇번째 인지 알아보기 |
스레드를 멈추는, 죽이는 방법도 있다![]() join()을 넣는건데 오류가 나기 떄문에 try, catch로 잡아보자 |
![]() |
우선순위를 줄 수도 있는데 정확하지가 않은것 같다![]() |
시계만들기
![]() 먼저 창을 만든다 |
![]() paint()메소드를 이용해 시간을 출력한다. 두가지 방법이 있다. |
![]() 폰트도 변경해주자. 지금 상태는 한번 찍히고 갱신이 되지 않고 있다. 이제 시간이 계속 바뀌게 만들어보자 |
이제 시계부분으로 돌아가서 시간을 계속 갱신한다고 while문을 사용하면 시간이 바뀌긴 하는데 cpu가 그 while부분에 빠져있어서 닫는버튼이 안먹힌다. ![]() 한번에 여러 동작을 못하는 것이다. 이때 스레드가 필요 |
우선 implement를 하자. runnable이 스레드 ![]() 다음 오버라이드 ㄱㄱ ![]() |
![]() 스레드 생성, 시작 |
![]() 이렇게 paint()에 while을 지우고 run에 paint를 다시 부르는 repaint를 작성한다. |
![]() 이렇게 고쳐주면 반복시간이 1000 =1초가 되어 이제 시간이보인다 |
![]() |
'JAVA' 카테고리의 다른 글
10/15 수업내용(타이머, (0) | 2020.10.15 |
---|---|
팩맨 움직이기1 (0) | 2020.10.14 |
미완성[메소드]정렬 sort(), Comparable vs Comparator (0) | 2020.10.14 |
10/13수업 (0) | 2020.10.13 |
(월요일에 복습하기)CalendarMain(캘린더) 만들기, Today (0) | 2020.10.11 |