抽象类和接口

使用规则

  • 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安卓常用这种方式

你可能感兴趣的:(抽象类和接口)