일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- paint
- Java
- 오버로딩
- 클래스
- AWT
- 전화걸기
- Spring
- 생성자
- Eclips
- 국제화
- 예외처리
- oracle
- JavaScript
- 안드로이드
- layout
- 메서드
- Menu
- struts2
- 에러페이지
- HTML
- mybatis
- 배열
- 메소드
- 기본
- Android
- 어노테이션
- 이클립스
- OGNL
- JSP
- Graphic
- Today
- Total
목록자바 (201)
note
package com.basic; //예외처리 throws 사용법 import java.io.*; //모든 클래스를 사용하겠다는 것임(좋은 표현은 아님) public class ThrowsEx1 { private void printDate() throws NumberFormatException,IOException{ System.out.print("단 입력 :"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int dan = Integer.parseInt(br.readLine()); System.out.println(dan+"단"); System.out.println("---------"); for(int i=1;i
package com.basic;//예외처리 5 public class ExceptionEx5 { public static void main(String[] args) { int var =50; /*다중 catch문 사용하기 catch 블럭에 전달되는 객체의 타입을 명시할때 하위 타입은 위로 상위타입은 아래로*/ try{ //String -> int int date = Integer.parseInt(args[0]); System.out.println(var/date); System.out.println("----------"); } catch(NumberFormatException e){ System.out.println("숫자가 아닙니다."); } catch(ArrayIndexOutOfBoundsExc..
package com.basic;//예외처리 finally의 사용방법 public class ExceptionEx6 { public static void main(String[] args){ System.out.println("==예외가 발생하지 않은 경우=="); System.out.println("1"); try{ System.out.println("2"); System.out.println("3"); }catch(Exception e){ System.out.println("4"); }finally{//예외가 있던 없던 무조건 실행됨 System.out.println("5"); } System.out.println("프로그램 종료"); } } ==예외가 발생하지 않은 경우== 1 2 3 5 프로그램 ..
package com.basic;//예외처리 5 public class ExceptionEx5 { public static void main(String[] args) { int var =50; /*다중 catch문 사용하기 catch 블럭에 전달되는 객체의 타입을 명시할때 하위 타입은 위로 상위타입은 아래로*/ try{ //String -> int int date = Integer.parseInt(args[0]); System.out.println(var/date); System.out.println("----------"); } catch(NumberFormatException e){ System.out.println("숫자가 아닙니다."); } catch(ArrayIndexOutOfBoundsExc..
package com.basic;//예외 처리4 public class ExceptionEx4 { public static void main(String[] args) { System.out.println("==예외가 발생한 경우=="); System.out.println("1"); try{ System.out.println("2"); System.out.println(6/0); //예외 발생 System.out.println("3"); }catch(Exception e){ //예외가 발생하면 catch 블럭으로 이동 System.out.println("4"); } System.out.println("5"); } } ==예외가 발생한 경우== 1 2 4 5
package com.basic;//예외 처리3 public class ExceptionEx3 { public static void main(String[] args) { System.out.println("==예외가 발생하지 않고 정상수행=="); System.out.println("1"); try{ System.out.println("2"); System.out.println("3"); }catch(Exception e){ //예외가 발생하지 않으면 catch블럭은 호출되지 않음 System.out.println("4"); } System.out.println("5"); } } ==예외가 발생하지 않고 정상수행== 1 2 3 5
package com.basic;//예외처리 public class ExceptionEx2 { public static void main(String[] args) { int[] var = {10,20,30}; for(int i=0; i
package com.basic;//예외처리 public class ExceptionEx1 { public static void main(String[] args) { int[] var = {10,20,30}; //예외처리를 안 한 상태에서 예외가 발생하면 //예외가 발생한 라인에서 프로그램이 정지(비정상 종료) 되고 //예외 정보를 갖는 예외 객체가 생성됨 for(int i=0; i
package com.inter5;//클래스간 다중상속 interface IHello{ public abstract void sayHello(String name); } interface IGoodBye{ public abstract void sayGoodBye(String name); } //인터페이스는 클래스에 다중 구현(우회적 다중상속)할 수 있다 class Subclass implements IHello, IGoodBye{ public void sayHello(String name){ System.out.println(name+"씨 안녕??"); } public void sayGoodBye(String name){ System.out.println(name+"씨 바이"); } } public cl..
package com.inter3; interface IHello{ void sayHello(String name); } class Hello implements IHello{ public void sayHello(String name){ System.out.println(name + "씨 안녕하세요!"); } } public class InterfaceTest01 { public static void main(String[] args){ Hello obj = new Hello(); obj.sayHello(args[0]); } }
package com.inter3;//인터페이스 공통자료형 , 공통표준화 class A{ void autoPlay(I i){ //여러 자료를 받기 위해 인터페이스의 I값을 가져옴 i.play(); } } interface I{ public abstract void play(); } class B implements I { public void play(){ System.out.println("play in B class"); } } class C implements I { public void play(){ System.out.println("play in C class"); } } public class InterfaceTest2 { public static void main(String[] args)..
package com.inter2;//인터페이스 타입으로 형변환 interface A{ public abstract int getA(); } public class Round02 implements A{ //인터페이스 A의 추상메소드 getA()를 구현 public int getA(){ return 10; } public String getMsg(){ return "겨울"; } public static void main(String[] args) { Round02 rd = new Round02(); System.out.println(rd.getA()); System.out.println(rd.getMsg()); A a = rd; //클래스 타입 -> 인터페이스 타입 //자동적으로 형변환 System.ou..
인터페이스 용도 1.구조화된 클래 사용(클래스 설계를 위해서) 2.표준화(메소드 생성을 강요하기 때문에 구조 동일화) 3.우회적 다중상속 지원 4.자료형으로 사용(서로 관계가 없는 클래스에 관계형성)
package com.inter2;//인터페이스 다중 상속 interface Inter1{ public abstract int getA(); //추상 메소드 } interface Inter2{ public int getB(); //추상 메소드(abstract 생략가능) } //인터페이스간 다중 상속 interface Inter3 extends Inter1,Inter2{ public int getDate(); //추상 메소드 } interface Inter4{ public int getC();//추상 메소드 } public class Round01 implements Inter3,Inter4{ //Round01에 인터페이스를 구현하면 //해당인터페이스의 추상 메소드는 반드시 일반 메소드로 구현되어야 함 p..
package com.inter;//추상 인터페이스 //다중상속이 불허하기 때문에 //인터페이스는 상속이 아닌 구현이라 표현되고 //다중상속이 가능하게 느껴짐(우회적 다중상속을 위해 사용함) //interface는 일반메소드를 가질 수 없음(자동적으로 추상메서드) interface A2{ void aaa();//default가 아니라 public으로 자동적으로 생성됨 public abstract void bbb();//원형 } //class면 extends interface는 implements class B2 implements A2{ /* default생성자로 호출시 에러남 항상 public * void aaa(){ System.out.println("aaa() 메소드"); }*/ //interfac..
package com.inter;//인터페이스 사용 //외형상으로 본다면 A1.class로 저장되어서 클래스로 보임 //인터페이스 //상수 , 추상 메서드 만 사용가능 interface A1{ int W = 10; static int X = 20; final int Y = 30; public static final int Z = 40; //원형 //생략한것도 상수로 인식함(쓴것은 변수여도) //인터페이스는 생성자가 없어서 객체생성이 안됨 } public class Round01 { public static void main(String[] args) { /*인터페이스는 객체 생성이 불가능 A1 a = new A1();*/ /*A1.W는 상수기 때문에 값을 변경할 수 없음 A1.W = 20;*/ Syste..
package com.annoy;//내부 클래스 class Inner6{ public void disp(){ System.out.println("disp() 메소드 호출"); } } public class InnerTest { public static void main(String[] args) { //익명 내부 클래스 만들기 전단계 class Inner extends Inner6{ public void disp(){//메소드 오버라이딩 System.out.println("자식 클래스의 disp()"); } } //Inner i = new Inner(); //i.disp(); //이것은 자주 사용할경우 //한번만 사용할경우 객체생성하자마자 호출하는게 낫다 new Inner().disp(); } } 자식 ..
package com.inner2;//내부 클래스 원하는 변수 출력하기 class Outer2{ int a = 100; //멤버 내부 클래스 class Inner2{ int a = 200; public void method1(){ int a = 300; System.out.println("a = "+a); System.out.println("this.a = "+Inner2.this.a); System.out.println("this.a = "+this.a); System.out.println("Outer2.this.a = "+ Outer2.this.a); //위치가 명확하지 않으면 위치를 써놓고 this를 쓰는것이 좋음 } } } public class InnerTest2 { public static v..
package com.inner2;//내부 클래스 원하는 변수 출력하기 class Outer2{ int a = 100; //멤버 내부 클래스 class Inner2{ int a = 200; public void method1(){ int a = 300; System.out.println("a = "+a); System.out.println("this.a = "+Inner2.this.a); System.out.println("this.a = "+this.a); System.out.println("Outer2.this.a = "+ Outer2.this.a); //위치가 명확하지 않으면 위치를 써놓고 this를 쓰는것이 좋음 } } } public class InnerTest2 { public static v..
package com.inner4;//내부 클래스 static 알아보기 public class InnerEx { //내부 클래스가 static 변수를 갖고 있으면 //클래스를 static으로 지정해야 함 static class StaticInner{ int iv = 200; static int cv = 300; } public static void main(String[] args){ InnerEx.StaticInner i = new InnerEx.StaticInner(); System.out.println(i.iv); System.out.println(InnerEx.StaticInner.cv); } } 200 300