Abstract class虚拟类
Abstract class指的是用关键字abstract修饰的类,叫做抽象类,是不允许实例化的类,不能直接创建对象,必须要通过子类创建才能使用abstract类的方法。
在类声明中使用abstract修饰符以指示某个类只能是其他类的基类。标记为抽象或包含在抽象类中的成员必须通过从抽象类派生的类来实现。
也就是说Abstract class定义一个虚拟类作为基类,后用子类继承使用。
package Animal;abstract class Animal
{int age;Animal(int a){age = a;}int getAge(){return age;}abstract void speak();
}class Cat extends Animal
{Cat(int a){super(a);}void speak(){System.out.println("Cat speaking");}
};class Bird extends Animal
{Bird(int a){super(a);}void speak(){System.out.println("Bird speaking");}
};class AnimalDemo
{public static void main(String[] args){Cat c = new Cat(3);Bird b = new Bird(2);makeSpeak(c);makeSpeak(b);}static void makeSpeak(Animal a){a.speak();}
};
注:如果一个类中含有abstract方法,那么这个类必须使用abstract来修饰。反之,abstract类中却可以没有abstract方法。
abstract 类不能直接用new运算符创建对象!必须产生其子类,由子类创建对象,才可以调用abstract 类的方法。一个子类只能继承一个父类,但可以通过实现多个接口(interface)实现多重继承。
Abstract class虚拟类相关推荐
- Java ReentrantLock源码总结 ReentrantLock源码注释翻译和解析中英文对照版 AQS虚拟类的实现
文章目录 ReentrantLock类源码重点 具体实现 lock操作 acquire操作 tryAcquire操作 公平锁版本 非公平锁版本 lockInterruptibly操作 acquireI ...
- 基于品类关系,虚拟类目如何建设?
小叽导读:类目-属性项-属性值体系(简称CPV)是淘宝建设中非常重要的基石,在商品的发布.管理,以及搜索场景下都大量应用.比如每个商品都有自己的类目.以及属性,而且需要发布在适合自己的类目下,才能够方 ...
- (22)UVM 虚拟类序列(virtual sequence)
UVM 虚拟类序列(virtual sequence) 文章目录 UVM 虚拟类序列(virtual sequence) virtual sequence介绍 virtual存在对于sequence和 ...
- 拼多多虚拟类目商品中有哪些是禁售品
电商的虚拟类目的商品一直都是受关注的,其中也很多商家会选择把线下的充值移到电商平台,也很方便快捷,同时也能添加业务,不过在电商平台上做虚拟类目的商品和其他实体的商品还是有不同的,比如在上传商品的编辑到 ...
- 关于货物贸易,服务贸易(虚拟类)的业务场景结汇
说到结汇,它是跨境贸易非常重要的一个环节.来分析下现在市场上跨境贸易的结汇方式. 目前跨境贸易的结汇主要分为两类:货物贸易,服务贸易. 一,货物贸易结汇 货物贸易主要场景为:跨境电商(B2C),外贸贸 ...
- modelsim调用产生随机数及创建虚拟类
1. Modelsim仿真产生随机数 reg data;data = $random % a; //产生从-a+1 ~ a-1 的随机数data = {$random} % a; //产生从0到a-1 ...
- Java中abstract类和abstract方法的相关问题
当知道一个类的子类将不同的实现某个方法时,把该类声明为抽象类很有用,可以共用相同的父类方法,不必再定义. 抽象类和抽象方法的关系:含有抽象方法的类一定是抽象类,抽象类里不一定含有抽象方法. 抽象类存在 ...
- 抽象类和抽象方法 abstract类和abstract方法
可以使用abstract来修饰一个类或者方法. 用abstract修饰的类表示这个类是一个抽象类,用abstract修饰的方法表示这个方法是一个抽象方法. 抽象类不能被实例化. 抽象方法是只有方法声明 ...
- abstract 类和 abstract 方法 (抽象类与抽象方法)
抽象一直以来都是人们所神往的艺术形式,这点从梵高,毕加索等艺术家的身上就可以看出.抽象所代表的是一种形式上的美感,颇有一种虚无缥缈只可意会不可言传的意味.但是JAVA中的抽象类与抽象方法相对而言就更加 ...
最新文章
- 如何遍历JavaScript对象?
- python爬虫简单实例-Python 利用Python编写简单网络爬虫实例3
- java换行符分隔字符串_Java 实例 – 字符串分隔(StringTokenizer) | 菜鸟教程
- C与C++中的extern与static、extern C与__cplusplus的作用
- mysql tungsten_使用tungsten将mysql的数据同步到hadoop
- LeetCode 1104. 二叉树寻路(数学位运算)
- 混凝土静力受压弹性模量试验计算公式_混凝土试块检测要知道的9个技巧
- elementui table某一列是否显示_elementui 中 loading 组件源码解析(续)
- jquery操作li向下向上几行
- 5. php 基本数据类型
- JSP技术-02-内置对象/作用域/EL表达式/JSTL标签库
- lodop 使用教程之图文详解 + 详细方法/参数的配置说明
- python urllib.parse_Python3的urllib.parse常用函数小结(urlencode,quote,quote_plus,unquote,unquote_plus等)...
- 服务器debian系统重置,如何重置Debian 10系统的root登录密码
- [R语言]RMarkdown: 入门与操作
- zblog php建站教程_开源建站程序ZBlogPHP博客安装图文教程
- iPhone iOS升级完美指南
- 全选和反选的效果怎么做?
- 发布订阅和观察者模式
- html p行间距离 p标签上下行间距CSS设置
热门文章
- hdu 3572(最大流)
- Golang 为什么不能直接将任意类型数组赋值给 []interface{}完成泛型操作
- csv文件导入sqlite
- windows简易使用composer 安装国内镜像
- python中的特殊成员
- Python time strptime()方法 时间操作
- Codeforces Round #361 (Div. 2) E. Mike and Geometry Problem 【逆元求组合数 离散化】
- placement new--《C++必知必会》 条款35
- 【.NET基础】--委托、事件、线程(2)
- network重启失败原因