Java-抽象类和接口

Java-抽象类和接口,第1张

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);
  }
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5482512.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存