출처 : https://tlatmsrud.tistory.com/49
출처 : https://madplay.github.io/post/java-checked-unchecked-exceptions
try {
int num = 6 / 0;
} catch (Exception e) {
e.printStackTrace();
} catch (InputMismatchException e) {
e.printStackTrace();
}
위의 catch에서 Exception으로 이미 다 걸러버려서 ..
밑의 catch로 내려와서 걸러질게 없어서.
출처 : https://tlatmsrud.tistory.com/49
고수상이 설명해주심.
// 소스
Fruit fAry[] = {new Grape(), new Apple(), new Pear());
for(Fruit f : fAry)
f.print();
결과
나는 포도이다.
나는 사과이다.
나는 배이다.
class Fruit{
public void print() {
System.out.println();
}
}
class Grape extends Fruit{
public void print() {
System.out.println("나는 포도이다.");
}
}
class Apple extends Fruit{
public void print() {
System.out.println("나는 사과이다.");
}
}
class Pear extends Fruit{
public void print() {
System.out.println("나는 배이다.");
}
}
public class FruitException {
public static void main(String[] args) {
Fruit fAry[] = {new Grape(), new Apple(), new Pear()};
for(Fruit f : fAry)
f.print();
}
}
근데 이게 맞나..?걍 아는대로 하긴 했는데요....오늘 배운거랑 젠젠 상관 없어보이는디 ㅎㅎ............몰?루
interface Shape {
final double PI = 3.14; // 상수
void draw(); // 도형을 그리는 추상 메소드
double getArea(); // 도형의 면적을 리턴하는 추상 메소드
default public void redraw() { // 디폴트 메소드
System.out.print("--- 다시 그립니다.");
draw();
}
}
다음 main() 메소드와 실행 결과를 참고하여,
인터페이스 Shape을 구현한 클래스 Circle를 작성하고 전체 프로그램을 완성하라.
public class ShapeMain {
public static void main(String[] args) {
Shape donut = new Circle(10); // 반지름이 10인 원 객체
donut.redraw();
System.out.println("면적은 "+ donut.getArea());
}
}
interface Shape {
final double PI = 3.14; // 상수
void draw(); // 도형을 그리는 추상 메소드
double getArea(); // 도형의 면적을 리턴하는 추상 메소드
default public void redraw() { // 디폴트 메소드
System.out.print("--- 다시 그립니다.");
draw();
}
}
class Circle implements Shape{
double r;
public Circle(double r) {
this.r = r;
}
@Override
public double getArea() {
return r*r*Math.PI;
}
@Override
public void draw() {
}
}
public class ShapeExample {
public static void main(String[] args) {
Shape donut = new Circle(10); // 반지름이 10인 원 객체
donut.redraw();
System.out.println("면적은 "+ donut.getArea());
}
}
맞나...................?
public static void main(String[] args) {
Shape[] list = new Shape[3];
// Shape을 상속받은 클래스 객체의 레퍼런스 배열
list[0] = new Circle(10); // 반지름이 10인 원 객체
list[1] = new Oval(20, 30); // 20x30 사각형에 내접하는 타원
list[2] = new Rect(10, 40); // 10x40 크기의 사각형
for(int i=0; i<list.length; i++) list[i].redraw();
for(int i=0; i<list.length; i++)
System.out.println("면적은 "+ list[i].getArea());
}
/*
--- 다시 그립니다.반지름이 10인 원입니다.
--- 다시 그립니다.20x30에 내접하는 타원입니다.
--- 다시 그립니다.10x40크기의 사각형 입니다.
면적은 314.0
면적은 1884.0000000000002
면적은 400.0
*/
interface Shape2 {
final double PI = 3.14; // 상수
void draw(); // 도형을 그리는 추상 메소드
double getArea(); // 도형의 면적을 리턴하는 추상 메소드
default public void redraw() { // 디폴트 메소드
System.out.print("--- 다시 그립니다.");
draw();
}
}
class Circle2 implements Shape2{
double r;
public Circle2(double r) {
this.r = r;
}
@Override
public double getArea() {
return r*r*Math.PI;
}
@Override
public void draw() {
System.out.println("반지름이 " + r + "인 원입니다.");
}
}
class Oval implements Shape2{
int width;
int height;
public Oval(int width, int height) {
this.width = width;
this.height = height;
}
@Override
public void draw() {
System.out.println
(width + "x" + height + "에 내접하는 타원입니다.");
}
@Override
public double getArea() {
return width * height * 0.25 * PI;
}
}
class Rect implements Shape2{
int width;
int height;
public Rect(int width, int height) {
this.width = width;
this.height = height;
}
@Override
public double getArea() {
return width * height;
}
@Override
public void draw() {
System.out.println
(width + "x" + height + "크기의 사각형 입니다.");
}
}
public class ShapeExample2 {
public static void main(String[] args) {
Shape2[] list = new Shape2[3];
// Shape을 상속받은 클래스 객체의 레퍼런스 배열
list[0] = new Circle2(10); // 반지름이 10인 원 객체
list[1] = new Oval(20, 30); // 20x30 사각형에 내접하는 타원
list[2] = new Rect(10, 40); // 10x40 크기의 사각형
for(int i=0; i<list.length; i++) list[i].redraw();
for(int i=0; i<list.length; i++)
System.out.println("면적은 "+ list[i].getArea());
}
타원형 면적 계산은 몰라서 고수님꺼 걍 긁었어요
출처 : http://www.tcpschool.com/java/java_api_wrapper
출처 : http://www.tcpschool.com/java/java_api_wrapper