抽象类

抽象类

1、抽象类:普通类的基础上通过abstract关键字修饰,类中可以有抽象方法,也可以没有抽象方法,但是不能实例化。

注意:

  • 抽象类不能实例化
  • 子类继承抽象类,,必须实现抽象类中的方法或者继续作为抽象类
  • 抽象类可以利用向上转型,实现实例化
  • 抽象类不能使用final关键字修饰(final关键字修饰的类不能被继承)
  • 抽象类中可以没有抽象方法,且不能被实例化

2、模版设计模式

package day04;

 

/*

 

* 创建时间:2018年7月10日 上午1:14:14

 

* 项目名称:studyJava

 

* @author 飞鱼

 

* @version 1.0

 

* @since JDK 1.8.0_151

 

* 文件名称:javaDamo1.java

 

* 类说明: 模版设计模式

 

*/

abstract class person{

public static final int SAY=1;

public static final int EAT=3;

public static final int SLEEP=5;

public void command(int CODE) {

switch (CODE) {

case SAY : {

this.say();

break;

}

case EAT : {

this.eat();

break;

}

case SLEEP : {

this.sleep();

break;

}

default:

break;

}

}

public abstract void say();

public abstract void eat();

public abstract void sleep();

}

 

class student extends person {

 

@Override

public void say() {

System.out.println("我说英语");

}

 

@Override

public void eat() {

System.out.println("我吃营养早餐");

}

 

@Override

public void sleep() {

System.out.println("睡眠时间少");

}

}

 

class teacher extends person{

 

@Override

public void say() {

System.out.println("我说汉语");

}

 

@Override

public void eat() {

System.out.println("我吃快餐");

}

 

@Override

public void sleep() {

}

}

 

public class javaDamo1 {

public static void main(String[] args) {

student student1=new student();

teacher teacher1=new teacher();

System.out.println("-----------------学生活动----------------");

student1.command(student1.SAY);

student1.command(student1.EAT);

student1.command(student1.SLEEP);

System.out.println("-----------------老师活动----------------");

teacher1.command(teacher1.EAT);

teacher1.command(teacher1.SAY);

teacher1.command(teacher1.SLEEP);

}

}

 

结果:

-----------------学生活动----------------

我说英语

我吃营养早餐

睡眠时间少

-----------------老师活动----------------

我吃快餐

我说汉语

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值