1. 程式人生 > >Java面向物件----介面概念

Java面向物件----介面概念

介面語法

interface  介面名{
    //靜態常量,抽象方法
}

 特點

  介面中只能存放靜態常量抽象方法

  java介面是對功能的擴充套件

  通過實現介面,java類可以實現多實現

  一個類可以同時繼承(extends)一個父類並且實現(implements)多個介面

  介面與介面之間可以通過extends來繼承

介面與抽象類的區別

抽象類和具體實現類之間是一種繼承關係,父類和子類在概念上相同

介面和實現類在概念上不要求相同,不關注類之間的關係,只是抽取相互之間沒有關係的類的共同特徵

抽象類用於一組相關的事物  表示的是is--a 的關係

介面用於一組不相關的事物,表示的是like-a的關係

package com.tanlei.newer;
//動態繫結
public class InterfaceDemo {
    public static void main(String[] args) {
		Personssss p=new Personssss();
		Child child=new Child();
		tomcat tomcat=new tomcat();
		p.feed(child);
		p.feed(tomcat);
	}
}

interface Iability{
	 //介面中只能存放公有的靜態常量和抽象方法
	/*public static  final  int  number=1;
	
	public abstract void show();*/
	void  eat();
}

class Personssss{
	/*public void feed(Child child) {
		child.eat();
	}
	public void feed(tomcat tomcat) {
		tomcat.eat();
	}*/
	//介面的引用變數可以引用其實現類的物件
	public void feed(Iability iability) {
		iability.eat();
	}
}

class  Child implements Iability{
	public void eat() {
		System.out.println("吃米粉");
	}
}


class  tomcat implements Iability{
	public void eat() {
		System.out.println("吃魚");
	}
}