Abstract Class, Abstract Method
abstract class Vehicle {
public Vehicle() {}
void board() {
System.out.println("탑승하다.");
}
abstract void move();
abstract void pay();
}
public class Taxi extends Vehicle {
public Taxi() {}
@Override
void move() {
System.out.println("이동 중입니다. 안전벨트 매주세요.");
}
@Override
void pay() {
System.out.println("택시 요금 지불해주세요.");
}
}
public class Bus extends Vehicle {
public Bus() {}
@Override
void move() {
System.out.println("이동 중입니다. 자리에 앉거나 손잡이를 잡아주세요.");
}
@Override
void pay() {
System.out.println("삐빅 하차입니다.");
}
}
public class AbstracTest {
public static void main(String[] args) {
Vehicle t = new Taxi();
Vehicle b = new Bus();
t.board();
t.move();
t.pay();
b.board();
b.move();
b.pay();
}
}
// 탑승하다.
// 이동 중입니다. 안전벨트 매주세요.
// 택시 요금 지불해주세요.
// 탑승하다.
// 이동 중입니다. 자리에 앉거나 손잡이를 잡아주세요.
// 삐빅 하차입니다.
class Vehicle {
protected int speed = 3;
public int getSpeed(){
return speed;
}
public void setSpeed(int speed){
this.speed = speed;
}
}
class Car extends Vehicle{
public void printspd(){
System.out.println(speed);
}
}
public class ExtendsSample {
public static main (String[] args){
Car A = new Car();
System.out.println(A.getSpeed());
A.printspd();
}
}
interface TestInterface{
public static int num = 8;
public void fun1();
public void fun2();
}
class InterfaceExam implements TestInterface{
@Override
public void fun1(){
System.out.println(num);
}
@Override
public void fun2() {
}
}
public class InterfaceSample{
public static void main(String args[]){
InterfaceExam exam = new InterfaceExam();
exam.fun1();
}
}