抽象類、接口

//方法爲抽象方法cry

//父類申明抽象類Animal

1、不能被實例化:Animal an = new Animail();

2、抽象類可以沒有抽象方法

3、一旦一個類被申明爲抽象方法,該類一定是abstract

4、一定不能有主題,也就是後面一定不能加{}

5、抽象類裏面可以有實現的方法

abstract class Animal{
abstract public void cry();
}


//子類需要實現全部繼承的抽象方法

class Cat extends Animal{
public void cry()
{
System.out.println("");
}
}
class Dog extends Animal{
public void cry()
{
System.out.println("汪");
}
}



接口

由於java是單繼承的,所以要用到接口,可以多實現接口

1、接口不能被實例化,Usb usb = new Usb();

2、接口所有方法不能有主體,也就是不能有大括號public void start(){};

這一點與抽象類不同

3、一個類可以實現多個接口

4、接口之中可以有變量

  a、不能用private或protected修飾

  b、都是static類型,是final

  c、把常用變量放在接口中,作爲全局變量使用

5、接口不能繼承其他類,但是能繼承其他接口

public class HelloInterface {


/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Computer cmp = new Computer();
Camera cm = new Camera();
cmp.useUsb(cm);
}


}
//定義接口usb
interface Usb{
public void start();
public void stop();
}


interface Power{
public void start();
public void stop();
}
//當一個類實現了一個藉口,就要求該類將藉口的所有功能統統實現
class Camera implements Usb,Power{
public void start(){
System.out.println("相機開始");
}

public void stop(){
System.out.println("相機結束");
}
}
class Phone implements Usb{
public void start(){
System.out.println("手機開始");
}

public void stop(){
System.out.println("手機結束");
}
}


class Computer{
public void useUsb(Usb usb){
usb.start();
usb.stop();
}
}


發佈了38 篇原創文章 · 獲贊 0 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章