【Java基础】(十二)抽象类与接口

一、抽象类

1.抽象方法

如果在一个类中,需要有这个方法,但不打算在此处给出这个方法如何具体实现,则其应被定义为抽象方法,由abstract修饰符修饰。
如:

	public abstract void work();

注意:抽象方法只能存在于抽象类中。

2. 抽象类定义

类中抽象方法,则这个类应该定义为抽象类,由abstract修饰符修饰。
抽象类只能被继承不能通过抽象类去创建对象(不能被实例化),与final类是两个极端。

final修饰符修饰的类,不可被继承。

3. 如何创建抽象类

与继承相同,既可以在创建类时选择下图标记部分。也可以在创建好类以后手动在class前写上abstract。
在这里插入图片描述

4. 继承抽象类的子类的特点

如果一个子类继承了抽象类, 那么它应该实现抽象类具有的所有抽象方法。
如果子类没有实现其父类的所有抽象方法,那他也应该定义为抽象类。

二、接口

1. 接口的定义

如果一个类中所有方法都是抽象方法,则这个类可以定义为接口。可以说,接口是几个纯粹的抽象类。

2. 如何创建接口

同样的,既可以在创建时直接选择interface,也可以用interface代替普通类中的class来将一个类修改为接口。
在这里插入图片描述
定义好的接口:

package com.daw.test4;

public interface Car {

}

3. 接口的特点

1)接口中方法的public static可以省略

//非接口中的方法定义应为(static依照需要可加可不加)
public static void work();
//接口中方法可以省略为
void work();

2)类只能继承一个类,但可以引用多个接口

注意:

  1. 类不能继承(extend)接口,而是引用接口(implements),但具体使用与继承类并无不同。
public class Student implements Learn, Play{
	//Student同时引用了两个接口
	...
	//内容省略
}
  1. 类可以既继承类,又引用接口
public class Student extends Person implements Learn, Play{
	//Student继承了Person类,同时引用了两个接口
	...
	//内容省略
}

3)接口的成员变量

默认为public static final,必须赋初值,不能被修改。(一般不在接口中定义成员变量。)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值