抽象类和接口

使用规则

  • abstract定义抽象类
  • abstract 定义抽象方法,只有声明不需要实现
  • 包含抽象方法的类是抽象类
  • 抽象类中可以包含普通的方法,也可以没有抽象方法
  • 抽象类不能直接创建,可以定义引用变量
    (抽象类可以约束子类,因为抽象方法必须实现,抽象方法没有方法体,以分号结束)
    例:
    public abstract void call();

具体使用

Telphone tel1=new Cellphone();
tel1.call();   

创建抽象类的引用变量,指向子类的对象,然后用这个变量调用方法

接口

实现

和抽象类一样,接口的引用指向实现了接口的对象。例:

IPlayGame ip1=new SmartPhone();       
ip1.playGames();

和匿名内部类配合使用

采用接口引用变量

没有名字的内部类,多关注实现而不关注名称

语法格式

    
Interface i=new Interface(){
public void method(){
System.out.println("...");//举例而已   
}
};      

个人理解,第一种实现是new实现了接口的类的对象,类里重写了接口的抽象方法,而匿名内部类则new接口的对象,在接口里重写方法(有@override),要注意,分号。最后用接口的引用调用抽象方法。例:

IPlayGame ip3=new IPlayGame(){
public void playGames(){
System.out.println("dddd");
}
};
ip3.playGames();
}
####直接new接口的引用  然后调用    
例:    

new IPlayGame(){
public void playGame(){
System.out.println("fff");
}
}.playGame();

p.s安卓常用这种方式

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,765评论 18 399
  • 1)抽象类与接口的问题,面了好几个公司,都会被问到,其实这也是开发过程中经常遇到的问题,在这里所说的接口是指jdk...
    Hughman阅读 1,252评论 0 2
  • 先来看看抽象类和接口的定义: 抽象类(abstract class): 使用abstract修饰符修饰的类。官方点...
    IT废柴阅读 53,912评论 7 45
  • 今天儿子电子琴考级,一大早先到学习点请老师再指导一下。吃过中饭,一点钟驱车赶到考点——世界外国语学校。 一进大门口...
    华枝春满5339阅读 288评论 0 0
  • 没什么特别的原因,只是见你很多次。往事浮上心头,依然痛却只能自我消化。或许不打扰是我最大的温柔。 打开微信...
    禾年阅读 225评论 0 0