JavaSe基础(15)-- abstact
2016-03-31 11:38
1151 查看
abstract (抽象)
abstract是java的关键字之一,可以用来修饰方法、类abstract修饰的方法称为抽象方法
abstract修饰的类称为抽象类
抽象方法
只有方法声明,没有方法体的方法叫做抽象方法格式
[修饰符] abstract 返回值数据类型 方法名称([参数]) ;
注意:
必须以分号结尾, 只能定义在抽象类中
抽象类
所有的对象都是通过类来描绘的,但并不是所有的类都能描绘出具体的对象如果一个类没有足够的信息描绘出对象,那么这个类就叫做抽象类
格式
[修饰符] abstract class 类名{ }
注意:
抽象类不可以实例化,需要继承后使用
继承抽象类,需要实现所有的抽象方法
抽象类中的抽象方法不能为private
示例:
雇员示例: 需求:公司中程序员有姓名,工号,薪水,工作内容。 项目经理除了有姓名,工号,薪水,还有奖金,工作内容。 对给出需求进行数据建模。 分析: 在这个问题领域中,先找出涉及的对象。 通过名词提炼法。 程序员: 属性:姓名,工号,薪水、 行为:工作。 经理: 属性:姓名,工号,薪水,奖金。 行为:工作。 程序员和经理不存在着直接继承关系, 但是程序员和经理却具有共性内容。 可以进行抽取。因为他们都是公司的雇员 可以将程序员和经理进行抽取.建立体系. //描述雇员。 abstract class Employee { private String name; private String id; private double pay; Employee(String name,String id,double pay) { this.name = name; this.id = id; this.pay = pay; } public abstract void work(); } //描述程序员。 class Programmer extends Employee { Programmer(String name,String id,double pay) { super(name,id,pay); } public void work() { System.out.println("code..."); } } //描述经理。 class Manager extends Employee { private int bonus; Manager(String name,String id,double pay,int bonus) { super(name,id,pay); this.bonus = bonus; } public void work() { System.out.println("manage"); } }
1、抽象类与抽象方法的关系
包含抽象方法的类一定为抽象类
抽象类不一定包含抽象方法
2、普通方法与抽象方法的区别
3、抽象类与普通类的区别
相关文章推荐
- java 反射机制 笔记 reflection .class
- 【java】 java获取IP地址(淘宝IP库接口形式)
- java 常用类 日期类 Date SimpleDateFormat Calendar
- Eclipse快捷键 10个最有用的快捷键
- Eclipse下修改工程名
- struts2中怎样动态指定执行方法
- 解决jdk版本问题导致eclipse/myeclipse启动出错
- java中final和static的简单的区别
- Java 生成Excel表格
- visualvm监控远程机器上的Java程序
- java程序中乱码的问题
- Java遍历目录
- struts2学习
- Spring学习——(六)Spring与Hibernate整合
- java Io RandomAccessFile类 笔记
- Java第一阶段总结
- Java中String类(字符串操作)的10个常见问题和解决方法
- java Io reader writer 笔记3
- JAVA中的字符串小结
- java Io File类 笔记