Java-抽象类和接口

Java-抽象类和接口
一,抽象类
1,定义抽象类
使用abstract关键字修饰的类,是普通类的超集,普通类有的,抽象类都有,抽象类不能实例化对象

abstract class A{
   abstract void show();
   abstract void show(int i);
}

2,实现抽象方法
用abstract修饰的方法,抽象方法只有方法的名称,参数列表,返回值,没有方法体。抽象类必须有子类,子类必须覆写抽象类的所有方法(除非子类也是抽象类)

abstract class A{
   abstract void show();
   abstract void show(int i);
}
public class B extends A{
   int x;
   abstract void show(){
       System.out.println("x=" + x);
   }
   abstract void show(int i){
       System.out.println("x=" + x);
   }
}

3,abstract和final关键字区别

abstract关键字:
(1)修饰抽象类,其必须有子类
(2)修饰抽象方法,子类要重写抽象类抽象方法
final关键字:
(1)修饰属性,表示常量
(2)修饰类,表示类到此为止,不能有子类
(3)修饰方法,该方法不能重写
注:abstract和final关键字不能同时使用

二,接口
1,接口定义
接口是抽象类的一种变体,但和抽象类有一些差异。接口使用interface关键字定义,形式为

interface My{
  double a = 3.7;
  void show();
  }

接口中的所有方法都是抽象方法,abstract可以不写
(1)抽象类的方法不一定是抽象的,接口中方法都是抽象的
(2)接口中所有数据都是共有静态常量,具有public,final,static属性,一般不写
(3)接口所有方法都是抽象,接口的子类必须重写接口的抽象方法
2,接口实现
接口生成子类是implements关键字实现一个接口,被实现的接口可以有多个,之间用逗号隔开

interface My
{
  double a = 3.7;
  void show(); 
}
class Test implements My
{
  public void show(){ //实现抽象方法
     System.out.println("a=" + a);
  }
}
  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喜羊羊zz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值