写点什么

Java 中抽象

  • 2022 年 5 月 10 日
  • 本文字数:734 字

    阅读完需:约 2 分钟

  • 抽象类一定是个父类,因为是不断抽取而来的

  • 抽象类中可以不定义抽象方法,其存在的意义就是不让该类创建对象,方法可以直接让子类去使用

  • 抽象关键字 abstract?不可以和以下关键字共存:


private:私有的方法子类是无法继承到的,也不存在覆盖,如 《一线大厂 Java 面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 果 abstract?和 private 一起使用修饰方法, abstract 既要子类去实现这个方法,而 private 修饰子类根本无法得到父类这个方法,互相矛盾


final:final 修饰的类不能被继承,而抽象类一定是父类


static:static 修饰的表示静态的,不能被修改的,但可以直接被类所调用,而 abstract 修饰的是抽象的,即没有方法实体,也不能直接被调用


二、代码实例


==========


  • 先创建 Develop.java 父类,创建 Develop 抽象类,并创建抽象方法


package MyAbstract;


/**


  • 定义开发人员类,所有开发人员都具有工作的共性,

  • 对工作共性进行抽取,然后形成一个 Develop 类

  • 定义方法:工作

  • 抽象类不能实例化对象,即不能 new,抽象方法没有主体,不能运行

  • 抽象类的使用:可以定义类继承抽象类,将抽象方法进行重写,创建子类的对象


*/


public abstract class Develop {


//定义工作方法,但具体怎么工作,并不明白,所以干脆不说,即抽象方法


//必须使用 abstract 关键字修饰


//抽象的方法必须存在抽象类中,类也必须使用 abstract 关键字修饰


public abstract void work();


}


  • 再创建 Php.java 子类,重写父类的抽象方法


package MyAbstract;


/**


  • 定义 PHP 开发人员

  • 继承抽象类 Develop,重写抽象的方法


*/


public class Php extends Develop {


//重写父类的抽象方法,去掉 abstract 关键字,加上方法主体


public void work()


{


System.out.println("正在开发网页!");


}


}


  • 在 Main.java 中调用

用户头像

还未添加个人签名 2022.04.13 加入

还未添加个人简介

评论

发布
暂无评论
Java中抽象_Java_爱好编程进阶_InfoQ写作社区