博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
小白学习JavaSE-day07之抽象类
阅读量:3931 次
发布时间:2019-05-23

本文共 1499 字,大约阅读时间需要 4 分钟。

抽象类

1、什么是抽象类

抽象类:依然是一个类(描述事物群体),在继承中,父类将多个不同的子类中的共性内容进行抽取,形成多个子类的共同父类。在共同特定(属性、方法)进行抽象的时候,可能会出现某些体系结构中存在一些共性的行为(方法),但是不同的子类它们的共同的行为有些差异。这时共同行为依然需要在父类中描述,可是父类没有办法将方法的具体行为描述清楚。这时父类中就会有不具体的方法出现,这个类就变成抽象类。

2、抽象类代码体现

abstract:用来修饰类或者方法(普通),被修饰的类为抽象类,被修饰的方法为抽象方法

抽象方法:没有方法体的方法。

// 抽象类的定义public abstract class 类名{
// 定义变量 // 定义方法 // 抽象方法 修饰符 abstract 返回值类型 方法名( 参数类型 变量名 , 参数类型 变量名 ) ; }

类中出现抽象方法,这个类必须是抽象类,否则编译报错。

3、抽象类的举例

/* * 	类中有抽象方法,类就是抽象类 */abstract class Employee{
/* * 所有员工都具有工作的行为,需要将工作行为抽取到员工类中描述 * 但是每个员工的工作的具体内容不同,这时不能将方法体书写具体 */ public abstract void work() ;}/* * 程序员:工作内容:撸代码 * * 当父类中有了抽象方法,子类继承父类之后, * 子类需要将父类中的抽象方法全部复写 * 否则子类依然是一个抽象类 */class Coder extends Employee{
public void work() {
System.out.println("撸代码"); }}/* * 经理:工作:管理 */class Manager extends Employee{
public void work() {
System.out.println("管理"); } }public class AbstractDemo {
public static void main(String[] args) {
Coder c = new Coder(); c.work(); Manager m = new Manager(); m.work(); }}

4、关于抽象类一些问题

  • 抽象类能够new对象吗?

    不可以。因为抽象类中可能会拥有抽象方法,如果能够new对象,那么通过引用可以调用抽象方法,而抽象方法没有方法体,那么调用抽象方法最终也不会有任何的结果。

  • 抽象类拥有构造方法吗?

    有,抽象类中的构造方法虽然不是给自己创建对象使用,但是子类在创建对象的时候,子类的构造方法中会有super语句找父类的构造方法。

  • 抽象类一定是父类吗?

    它是父类,但一定不是顶层父类(顶层Object类),它一定有子类,子类继承抽象类,然后在程序通过子类的对象使用方法。

  • 抽象类中可以没有抽象方法吗?

    可以。它的存在是为了不让创建这个类的对象。主要用在适配器设计模式中(类中的所有方法全部是空复写)。

  • 抽象关键字不能和哪些关键字共存?

    final:final修饰的方法为最终方法,子类不能复写,abstract关键字修饰方法必须要求子类复写。

    private:私有的方法只能在本类中使用,子类无法继承到。

    static:静态修饰的方法可以通过类名直接调用。而调用抽象方法没有意义。

转载地址:http://fqtgn.baihongyu.com/

你可能感兴趣的文章
LeetCode刷题:5. Longest Palindromic Substring
查看>>
研发主管的烦恼:EBS-6号服务器宕机引发的“血案”
查看>>
PMP笔记—PMP考试中不同合同类型的优缺点比较
查看>>
PMP笔记—PMP考试中合同类型选择判断技巧
查看>>
精益Scrum(一)
查看>>
精益Scrum(二)
查看>>
精益Scrum(三)
查看>>
精益Scrum(四)
查看>>
精益Scrum(五)
查看>>
精益Scrum(六)
查看>>
精益Scrum(七)
查看>>
软件测试管理—如何写好软件测试计划书
查看>>
解读一名软件测试经理所需要具备的能力
查看>>
做好 Test Leader所需要的“软技能”
查看>>
有效的软件测试度量
查看>>
软件测试——缺陷描述需要包含的要素
查看>>
软件测试:一个Tester的经验分享
查看>>
一个Defect的一生:缺陷声明周期描述
查看>>
合理制定测试计划确保测试的有效性
查看>>
软件评测和测试国家现行标准
查看>>