Java基础学习(四)抽象类与接口:

一.抽象类:

  1. 抽象类和抽象方法都必须用abstract关键字来修饰。
  2. 抽象类不能直接实例化,必须有子类不能使用final定义),子类使用extends继承抽象类,一个子类只能继承一个抽象类。
  3. 子类(如果不是抽象类)则必须覆写抽象类之中的全部抽象方法。
  4. 抽象类定义抽象方法时只需声明,而不需实现。
  5. 抽象类可以有构造方法,但必须在子类中被调用。
  6. 外部抽象类无法使用static声明,但内部抽象类可以static定义。
//举个例子:
abstract class A{
public abstract  void p();  //抽象方法
   static abstract class CD{   //静态内部抽象类
     public abstract void g();  //抽象方法
   }
}

class B extends A.CD{  //继承抽象类
public void g(){
System.out.println("java~");
}
}

public class Main{
public static void main(String args[]){
A.CD cd=new B();  //实例化对象
cd.g();

}
}

二.接口:

//定义抽象类
interface 接口名称
{
final 数据类型 成员名称=常量; //数据成员必须赋初值
abstract 返回值的数据类型 方法名称(参数……);//抽象方法
default  返回值的数据类型 方法名称(参数……);//默认方法
   {……方法体……}
}
  1. 接口的数据成员必须初始化,且为常量
  2. 接口的方法为abstract,需定义“抽象方法”。
  3. 接口必须有子类,子类用implements关键字可以同时实现多个接口,子类必须覆写接口中的全部抽象方法。
  4. 接口与抽象类的最大区别:子类可以同时实现多个接口
  5. 一个接口可继承多个接口。

接口的实现:

class 类名称 implements 接口A ,接口B
{
……
}

继承抽象类实现接口:

//先继承后实现
class A extends B implements C,D{
……
}

三.抽象类和接口对比:

四.抽象类、接口、类、基本类的关系:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值