Plain's Blog

休想打败我的生活🔥

  1. 1. 抽象
    1. 1.1. 简单使用
    2. 1.2. 注意事项
  2. 2. 接口
    1. 2.1. 注意事项
  3. 3. 其他

抽象

所以当父类的一些方法不能确定时,可以用abstract关键字来修饰该方法[抽象方法]和修饰该类[抽象类]

简单使用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/**
* 用abstract修饰方法时也必须修饰类
* 只能在子类中实现该方法
*/
abstract class Anmial {
abstract public void eatFood();
}


/**
* 当子类继承抽象父类时,必须重写抽象父类的所有抽象方法
*/
class Dog extends Anmial {

@Override
public void eatFood() {

}
注意事项
  • 抽象类不能被实例化
  • 抽象类不一定要包含abstract方法。也就是说,抽象类可以没有abstract方法
  • 一旦类包含了abstract方法,则这个类必须声明为abstract
  • 抽象方法不能有主体 {…}
  • 抽象类可以有实现的方法,前提不能用abstract修饰

接口

接口就是给出一些没有内容的方法,封装到一起,到某个类要使用的时候,在根据具体情况把这些方法实现出来,语法如下

1
2
3
4
5
6
7
8
9
10
//接口的定义
interface Usb {
方法
}

//接口的使用
class Phone implements Usb {
变量;
方法;
}

接口是更加抽象的抽象的类,抽象类里的方法可以有方法体,接口里的方法都没有方法体。接口实现了程序设计的多态高内聚低耦合的设计思想

注意事项
  • 接口不能被实例化
  • 接口中所有的方法都不能有主体 {…}
  • 一个类可以实现多个接口
  • 接口中可以有变量(但变量不能用private和protected修饰),关于这一点,有2点注意的地方,接口中的变量,本质上都是static的,不管你加不加static修饰。在java开发中,我们经常把常用的变量,定义在接口中,作为全局变量使用。访问形式:接口名.变量名
  • 一个接口不能继承其它的类,但是可以继承别的接口

其他

本篇介绍了抽象类和接口的一些基本的概念

本文作者 : Plain
This blog is under a CC BY-NC-SA 3.0 Unported License
本文链接 : https://plain-dev.com/java-abstract-classes-and-interfaces/

本文最后更新于 天前,文中所描述的信息可能已发生改变