Java笔记11——抽象和接口

抽象:abstract

引入:在有继承关系的两个类中,父类方法被子类方法重写,当我们不需要父类被重写的方法时,我们也就不需要该方法的具体实现,只声明一个方法结构,没有方法体,这样的方法用abstract来修饰,就是抽象方法,抽象方法必须放在抽象类中。

1.abstract可以修饰什么
修饰方法:用abstract修饰符修饰的方法,只有方法的结构,没有方法执体,叫做抽象方法
修饰类:用abstrat修饰符修饰的类,叫做抽象类
2.修饰后有什么特点
抽象类中可以含有抽象方法,抽象方法所在的类必须是抽象类。
3.什么是抽象类
(1)抽象类里面有什么 成员

  • 属性:可以含有一般的方法,也可以含有private static final等
  • 方法:可以含有一般的方法,也可以含有private static final等。
    不同点:抽象类中可以有抽象方法,普通类中不能有抽象方法
  • 块:可以含有一般的程序块,也可以含有static程序块
  • 构造方法:可以含有构造方法,包括方法的重载

(2)抽象类如何使用 创建对象

  • 抽象类含有构造方法,但是不能通过构造方法直接创建对象
  • 抽象类只能通过子类继承(extends)来办事
    public class A extends B {
    }

(3)类和类的关系

  • 抽象类----直接单继承----抽象类 可以
  • 抽象类----只接单继承----具体类 可以(用法通常不会出现)
  • 具体类----直接单继承----抽象类 不可以(需要将父类的抽象方法具体化或者具体类也抽象)

当抽象类中只存在抽象方法时,我们把它叫做接口,用interface修饰

接口:interface

1.什么是接口
(1)接口里面有什么 成员

  • 属性:不能含有一般属性,只能含有共有的静态的常量 public static final
  • 方法:不能含有一般方法,只能含有抽象方法
  • 块:不能含有块(块本身就是具体的)
  • 构造方法:不能含有构造方法

(2)接口如何使用 创建对象

  • 不能创建对象
  • 只能通过子类多实现(implements)来办事
    public class A implements B,C,D {
    }

(3)类和类的关系

  • 接口不能继承其他类
  • 抽象类----直接多实现----接口 可以
  • 具体类----直接多实现----接口 不可以(必须将接口中的抽象方法具体化或自己变成抽象类)
  • 接口----多继承----接口

Java笔记11——抽象和接口

总结

本篇内容
  • 简述了抽象类和接口的概念和使用
下篇内容

集合