java 基础-抽象类和接口

本文详细介绍了Java中抽象类和接口的区别,包括抽象方法的特性、两者之间的关系、接口的定义和特点,以及如何使用接口进行编程。重点讲述了抽象类的语法、继承规则和与接口的区别,如单继承与多实现、方法访问权限等。
摘要由CSDN通过智能技术生成

1:抽象类和普通类的区别

1:什么是抽象方法

当父类的某些方法不确定时,或者每一个子类都有不同的表现形式的时候,可以用abstract关键字来修饰该方法

被abstract修饰,没有方法体的方法,就叫抽象方法,

特点:

  1. 抽象方法没有方法体,只有方法的声明
  2. 如果一个类中存在抽象方法,那么这个类必须要声明为抽象类

2、抽象类和抽象方法的关系  

1:有抽象方法的类,一定是抽象类,但抽象类不一定有抽象方法;

2:一个类继承抽象类,必须重写抽象类中的所有抽象方法,如果没有全部重写,那么子类必须声明为抽象类

3:没有抽象构造方法,也没有抽象静态方法

4:抽象类中可以有构造方法,创建子类的实例时调用

  1. 抽象类和普通类的区别  

1、语法不同,抽象类是被abstract修饰的类,普通类一定不能被abstract修饰;

2、抽象类中可以有抽象方法,普通类一定不能有抽象方法;

3、抽象类不能被实例化普通类可以去实例化调用;- 创建对象

4、抽象类被继承时,子类必须重写全部的抽象方法,或者将子类声明为抽象类;普通类继承普通类的时候,没有限制;

5、抽象类中可以有抽象方法和普通方法,普通类中只能有普通的方法。

2:接口

1:什么是接口

接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合(接口中的所有的方法都是抽象方法),接口通常以interface来声明。

一个类通过实现接口的方式,从而来实现接口的抽象方法。

接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。

除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。

接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。另外,在 Java 中,接口类型可用来声明一个变量,他们可以成为一个空指针,或是被绑定在一个以此接口实现的对象。

2:接口的声明

声明接口的语法:

public interface MyInterface {

public abstract void eat(); // 接口中的所有方法都是抽象方法;

void run(); // 可以省略前面的修饰

}

3:接口的特点   

1、接口不能用于实例化对象。- 特殊的抽象类

2、接口没有构造方法。

3、接口中所有的方法必须是抽象方法。默认为:public abstract

4、接口不能包含成员变量,除了 public static final 量。

5、接口不是被类继承了,而是要被类实现。实现使用关键字:implements 

6、接口支持多实现

7、一个类可以继承一个类的同时实现多个接口。

3:使用接口

使用接口的步骤:

  1. 创建接口,声明方法
  2. 创建类,实现接口,实现接口中的方法
  3. 使用实现后的方法执行具体的操作

4:接口与抽象类的区别  - 记住4条以上

  1. 抽象类使用关键字abstract class修饰,接口使用关键字interface;
  2. 抽象类使用关键字extends实现继承,接口使用implements来实现
  3. 抽象类中可以包含抽象方法和普通方法,接口中只能有抽象方法;1.8之后是允许有一般方法的
  4. 抽象类可以有构造方法,接口中不能有构造方法;

5、抽象类可以有成员变量,接口中只能有常量;

6、抽象类只能单继承,接口可以多继承;

7、抽象类里面的方法可以是public,protect,private,接口的方法只能是public;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值