ch07extends 패키지에 새로운 클래스 L02Animal.java 생성
package com.javalesson.ch07extends;
class Animal{
String name, food;
public Animal(String name, String food){
this.name = name;
this.food = food;
}//생성자 규칙을 강제화 하기위해
public void walk(){
System.out.println(name+"가 "+"걷는다.");
}
public void breath(){
System.out.println(name+"가 "+"숨쉰다.");
}
public void eat(){
System.out.println(name+"가 "+food+"를 먹는다.");
}
}
class Cat extends Animal{
public Cat(String name, String food) {
super(name, food);//Animal 생성자 호출
}
//마우스 오른쪽 클릭 -> Source-> Override/Implements-> Animal.walk();
public void walk(){
System.out.print("살금살금 ");
super.walk();//두면 재정의, 삭제하면 초기화
}
}
class Dog extends Animal{
public Dog(String name, String food) {
super(name, food);
}
public void walk(){
System.out.print("터벅터벅 ");
super.walk();
}
public void breath(){
System.out.print("헥헥거리며 ");
super.breath();
}
}
public class L02Animal {
public static void main(String[] args) {
Cat c = new Cat("페르시안 고양이","물고기");
Dog d = new Dog("골든리트리버","사료");
c.walk();c.eat();c.breath();
d.walk();d.eat();d.breath();
//동물 클래스 (Animal)-> 공통점
//name, food
//먹고(eat()) 걷고(walk()) 숨쉬고(breath())
//Animal 클래스를 이용해 다른 동물들을 쉽게 만들 계획이다.
//Animal을 이용해서 고양이와 강아지를 만들어보자.
//고양이는 페르시안, 살금살금 걷고, 닭가슴살을 먹는다.
//강아지는 골든리트리버, 터벅터벅 걷고, 헥헥거리며 숨쉬고, 사료를 먹는다.
}
}
ch07extends 패키지에 새로운 클래스 L03FrameEx.java 생성 (나중에 배울 awt 맛보기)
package com.javalesson.ch07extends;
import java.awt.Frame;
import java.awt.Color;
import java.awt.Font;
import java.awt.Panel;
import java.awt.Label;
import java.awt.event.WindowEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
class FrameDemo extends Frame{
Font f = new Font ("Serif", Font.ITALIC, 20);//폰트 선언 및 생성
Panel p;//패널과 라벨선언
Label l1;
Label l2;
Label l3;
public FrameDemo(String frameName){
super(frameName);
this.addWindowListener(new WindowAdapter(){//x버튼 눌러 윈도우닫기
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
p = new Panel();//패널 생성
p.setBackground(Color.ORANGE);//패널의 배경색 설정
l1 = new Label("Label No.1");//라벨 생성
l2 = new Label("Label No.2", Label.CENTER);
l3 = new Label("Label No.3", Label.RIGHT);
l1.setBackground(Color.BLUE);//라벨의 배경색 설정
l2.setBackground(Color.GRAY);
l3.setBackground(Color.GREEN);
l3.setFont(f);//라벨3에 폰트를 적용
l3.setForeground(Color.WHITE); //라벨3의 폰트 색깔을 WHITE로
l3.addMouseListener(new MouseAdapter(){
public void mouseEntered(MouseEvent evt){
l3.setBackground(Color.RED);//마우스 들어오면 빨강
}
public void mouseExited(MouseEvent evt){
l3.setBackground(Color.GREEN);//나가면 초록
}
});
//font 바꾸기, 글씨 색 바꾸기,
//frame x 버튼이 작동하도록
//Label1 마우스를 올리면 색깔이 바뀌도록
p.add(l1); p.add(l2); p.add(l3); //패널에 라벨을 추가
this.add(p);//패널을 프레임에 추가
this.setSize(600,400);//상속받았기 때문에 this로 부모도 접근 가능
super.setVisible(true);//부모는 접근 가능하지만 자신은 접근 불가능
//this,super 생략가능
}//생성자 end
}//class end
public class L03FrameEx {
public static void main(String[] args) {
new FrameDemo("첫번째 frame");
}//main end
}//class end
'JAVA > 기본다지기' 카테고리의 다른 글
JAVA 11일차 필기 (0) | 2016.08.16 |
---|---|
JAVA 10일차 필기 (1) | 2016.08.12 |
JAVA 8일차 필기 (0) | 2016.08.10 |
JAVA 7일차 필기 (0) | 2016.08.09 |
JAVA 6일차 필기 (0) | 2016.08.08 |