《Java基础学习笔记》JAVA之抽象(Abstract)
2013-01-05 14:26
183 查看
(abstract)抽象:
当多个类中出现相同功能,但是功能主体不同。 这时也可以进行向上抽取,这时,抽取功能定义,而不抽取功能主体。
抽象方法必须定义在抽象类中。
特点:
1,抽象方法一定定义在抽象类中。
2,抽象方法和抽象类都被必须被 abstract关键字修饰。
3,抽象类不可以被实例化(被 new 创建对象),因为调用抽象方法没有意义。
4,抽象类中的方法要被使用,必须由子类复写其拟有的抽象方法后,建立子类调用。
如果子类只重写了部分抽象方法,那么该子类还是一个抽象类。
/********************华丽的分隔线***************************/
假如我们在开发一个系统时需要对员工进行建模,员工包含3个属性: 姓名、工号、工资。
经理也是员工,除了含有员工的属性外,另为还有一个奖金属性,请使用继承的思想设计出员工类和经理类。要求类中提供必要的方法进行属性访问。
当多个类中出现相同功能,但是功能主体不同。 这时也可以进行向上抽取,这时,抽取功能定义,而不抽取功能主体。
抽象方法必须定义在抽象类中。
特点:
1,抽象方法一定定义在抽象类中。
2,抽象方法和抽象类都被必须被 abstract关键字修饰。
3,抽象类不可以被实例化(被 new 创建对象),因为调用抽象方法没有意义。
4,抽象类中的方法要被使用,必须由子类复写其拟有的抽象方法后,建立子类调用。
如果子类只重写了部分抽象方法,那么该子类还是一个抽象类。
/********************华丽的分隔线***************************/
假如我们在开发一个系统时需要对员工进行建模,员工包含3个属性: 姓名、工号、工资。
经理也是员工,除了含有员工的属性外,另为还有一个奖金属性,请使用继承的思想设计出员工类和经理类。要求类中提供必要的方法进行属性访问。
abstract class Employee { private String id,name; private double pay; Employee(String id,String name,double pay) { this.id = id; this.name=name; this.pay = pay; } public abstract void Work(); } class Pro extends Employee { Pro(String id,String name,double pay) { super(id,name,pay); } public void Work() { System.out.println("员工在做事!"); } } class Manager extends Employee { private double bonus; Manager(String id,String name,double pay,double donus) { super(id,name,pay); this.bonus = bonus; } public void Work() { System.out.println("经理在做事!"); } }
相关文章推荐
- Java之抽象(abstract)类、接口(interface)的用法总结
- Java中abstract抽象类 / abstract抽象方法 和C++的对比
- Java面向对象(五)abstract --- 抽象
- Java-abstract(抽象)、final、static
- Java 面向对象:this使用、类型转换、抽象abstract
- Java的抽象表模型AbstractTableModel
- java中抽象的(abstract)方法是否可同时是静态的(static),是否可同时是本地方法(native),是否可同时被synchronized修饰
- Java基础知识系列之-抽象abstract
- Java之抽象abstract关键字
- Java学习笔记之抽象(abstract)与模板方法设计模式
- java学习笔记——抽象 abstract
- Java关键字abstract 与 抽象接口区别
- JAVA 十七 抽象 常量 abstract,final
- java 抽象类 抽象方法 abstract
- Java之抽象abstract关键字
- java中Static&Final的使用方法,&&&Java中两个主要的抽象Abstract&&Implement
- Java - 抽象的(abstract)方法是否可同时是静态的(static),是否可同时是本地方法(native),是否可同时被synchronized修饰?
- Java中的抽象(Abstract)学习总结
- 南哥带你玩转 Java 之 Java 抽象(abstract)
- java中抽象的(abstract)方法是否可同时是静态的(static),是否可同时是本地方法(native),是否可同时被synchronized修饰