abstract是声明抽象类和抽象方法的关键字

包含抽象方法的类叫抽象类,如果一个类中包含一个或多个抽象方法,该类必须被限定为抽象的,否则编译器会报错,抽象类不可创建对象,创建抽象类的对象编译器会报错

//: interfaces/music4/Music4.java
// Abstract classes and methods.
package object;
import static net.mindview.util.Print.print;enum Note {MIDDLE_C,MIDDLE_E,MIDDLE_F,
}
abstract class Instrument {private int i; // Storage allocated for eachpublic abstract void play(Note n);public String what() { return "Instrument"; }public abstract void adjust();
}class Wind extends Instrument {public void play(Note n) {print("Wind.play() " + n);}public String what() { return "Wind"; }public void adjust() {}
}class Percussion extends Instrument {public void play(Note n) {print("Percussion.play() " + n);}public String what() { return "Percussion"; }public void adjust() {}
}class Stringed extends Instrument {public void play(Note n) {print("Stringed.play() " + n);}public String what() { return "Stringed"; }public void adjust() {}
}    class Brass extends Wind {public void play(Note n) {print("Brass.play() " + n);}public void adjust() { print("Brass.adjust()"); }
}class Woodwind extends Wind {public void play(Note n) {print("Woodwind.play() " + n);}public String what() { return "Woodwind"; }
}    public class Music4 {// Doesn't care about type, so new types// added to the system still work right:static void tune(Instrument i) {// ...
    i.play(Note.MIDDLE_C);}static void tuneAll(Instrument[] e) {for(Instrument i : e)tune(i);}    public static void main(String[] args) {// Upcasting during addition to the array:Instrument[] orchestra = {new Wind(),new Percussion(),new Stringed(),new Brass(),new Woodwind()};tuneAll(orchestra);}
} /* Output:
Wind.play() MIDDLE_C
Percussion.play() MIDDLE_C
Stringed.play() MIDDLE_C
Brass.play() MIDDLE_C
Woodwind.play() MIDDLE_C
*///:~

转载于:https://www.cnblogs.com/jiangfeilong/p/10204453.html

Java abstract 关键字相关推荐

  1. Java | abstract关键字【面向对象的第三大特征——多态】

    Hello 大家好,讲完了类与对象的两大基本特征,本文就让我们一起进入面向对象的第三大特征--多态,感受多态所带来的魅力

  2. java中抽象类,abstract关键字

    抽象类:java语法规定,包含抽象方法的类为抽象类. abstract关键字:abstract用来定义抽象方法和抽象类,定义抽象方法格式为:abstract修饰方法,并去掉大括号,直接以封号结束:定义 ...

  3. [转载] Java中的abstract关键字

    参考链接: Java中的abstract关键字 在Java中,一说到"抽象",肯定会想到abstract关键字,今天就来讲一下这个关键字. (1).在class前面添加abstra ...

  4. java基础2:this、static、final、abstract关键字、代码块、生成API工具包、继承、多态、方法重载和重写,抽象类、接口、常见异常、java权限修饰符、选择排序思想和程序和内部类

    1.this关键字 this表示当前类对象的地址空间值的引用.就是说,this代表了new出来的对象 其最大作用就是解决了构造器中局部变量隐藏成员变量.即用this.变量名 = 变量名 区分. 2.s ...

  5. 解析java中的abstract关键字

    解析java中的abstract关键字 1 含义 abstract:抽象的;是java中用来修饰类和方法一个关键字 2 为什么要用 2.1 当我们不想类能够实例化时(类实例化没有意义,例如Animal ...

  6. java抽象类关键字_Java之关键字abstract(抽象类与抽象方法)

    /* * abstract关键字的使用 * 1.abstract:抽象的 * 2.abstract可以用来修饰的结构:类.方法 * * 3. abstract修饰类:抽象类 * > 此类不能实例 ...

  7. java中abstract关键字

    abstract关键字的使用 1.abstract: 抽象的 2.abstract可以用来修饰的结构:类.方法 3.abstract修饰类:抽象类 此类不能实例化 抽象类中仍然有构造器,便于子类实例化 ...

  8. Java中 关键字abstract(抽像)的定义

    一. abstract关键字 解释为抽象的,可以修饰:类,方法 1.1 abstract修饰类(抽象类) 一个被abstract修饰符修饰的类就是一个抽象类. public abstract clas ...

  9. 【Java笔记】抽象类与抽象方法(abstract关键字)的使用

    随着继承层次中一个个新子类的定义,类变得越来越具体,而父类则更一般,更通用.类的设计应该保证父类和子类能够共享特征.有时将一个父类设计得非常抽象,以至于它没有具体的实例,这样的类叫做抽象类. 目录 a ...

最新文章

  1. 服务器显示器切换_尼某某 DDOS 攻击高德,致使服务器处于黑洞状态 5 个多小时:被判 16 个月...
  2. Google布隆过滤器与Redis布隆过滤器详解
  3. 替换WordPress调用的Google前端库为360镜像的库
  4. jQuery插件imageTick实现复选和单选框转化为图片
  5. linux 启动端口失败,linux – 应用程序’appname’在开放移动节点应用程序启动失败(端口8080不可用)...
  6. 志愿者公交车上当导游(图)
  7. java war包更新 部署_关于Linux系统下基于Tomcat部署和升级war包的详细过程
  8. CentOS7.3下部署Rsyslog+LogAnalyzer+MySQL中央日志服务器
  9. c#开发Mongo笔记第九篇
  10. 20150820-Linux命令概述及一些基本命令
  11. Python使用matplotlib可视化模拟正弦余弦在子图显示
  12. HaaS EDU场景式应用学习 - 光照信息屏
  13. Php影视解析网站源码-觅鹿
  14. Flowable工作流(flowable 数据库表结构)
  15. 27-如何让文件夹中的图片显示缩略图
  16. WPF教程(十二)资源
  17. 计算机是干嘛的不会打字能学吗,不会打字能学护士吗不会使用电脑?
  18. 【源码】二维平面应力问题中的弹性材料模型仿真
  19. 12x12怎么速算_如果孩子正读小学,学会这4个乘法速算技巧,将大大提高计算速度...
  20. Infortrend数据库存储解决方案

热门文章

  1. 网络生活点滴 网络管理实用8招技巧
  2. harmonyos2.0开发者beta,华为鸿蒙 HarmonyOS 2.0 手机开发者 Beta 活动(广州站)报名开启...
  3. HTML table 标签的 frame 属性
  4. 计算机底层书籍三件套--大话计算机
  5. 后台开发经典书籍--Linux多线程服务端编程:使用muduo C++网络库
  6. IAR EW6.30版本下建立STM32工程(芯片型号STM32F105VC)
  7. Linux下undefined reference to ‘pthread_create’问题解决
  8. 常考数据结构与算法:数组中未出现的最小正整数
  9. 前端一HTML:二十二元素显示方式案例
  10. 如何选择最佳技术来加速文件传输!