• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

lzsykal

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

20220726 第六组 张嘉源 学习笔记

抽象类;接口

抽象类

Java中,除了类还有抽象类和接口

抽象类根本意义:约定,自定义的规则(约定大约配置,配置大于编码);约定了返回值、访问权限、参数列表,需要在重写的时候去定义方法体

抽象类里可以有属性、成员方法、构造器、抽象方法、常量

抽象类不能被实例化(不能创建对象),需要依靠子类采用向上转型的方式处理

抽象类不能用final修饰

抽象类必须有子类,采用extends继承

抽象方法

抽象方法必须在一个抽象类里

一个类(不是抽象类)如果继承了一个抽象类,就必须重写这个抽象类所有的抽象方法(如果子类没有实现父类的抽象方法,必须将子类也定义为abstract)

抽象方法必须是public或protected修饰,不能用private修饰(如果是private,不能被子类继承,子类无法实现该方法),开发中抽象方法基本都用public修饰

抽象方法不能用final修饰

抽象类构造器

是为了约定子类的构造器必须要和父类匹配

abstract关键字

声明抽象类或方法

能修饰类和方法

修饰类:public abstract void eat();

修饰方法:修饰的方法叫抽象方法,没有方法体

public abstract String love();

接口

比抽象类更高级的抽象

interface关键字

声明接口

JDK7之前接口中只能定义抽象方法,不能有属性,不能有方法(也可以放静态常量和静态方法)

JDK8及以后:接口中只能定义抽象方法,不能有属性,可以有默认方法和静态方法、静态常量

接口中结构的特点

1.接口中的抽象方法默认是public abstract,推荐省略

2.接口中的常量默认是public static final,推荐省略

接口中的结构必须是public

实现类

接口可以被一个类实现,这个类叫实现类

比如A类 implements 接口,那我们就说A是这个接口的实现类

如果一个类实现了一个接口,那它就需要重写接口中所有的抽象方法

实现接口是可以多实现的,但是继承只能单继承

在开发中,如果一件事情可以通过继承和实现接口来解决问题,优先选择使用接口解决

面试题:继承抽象类和实现接口的异同

继承抽象类只能单继承,实现接口可以多接口

抽象类和接口的区别
抽象类里可以有属性、成员方法、构造器、抽象方法、常量
接口中只能定义抽象方法、静态常量、静态方法,不能有属性、方法

posted on 2022-07-26 22:06  林钟朔一  阅读(31)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3