- 1.抽象類---abstract
public class demo_2 {
anmial an =new anmial();//會報錯 抽象方法不能實例會
Cat cat=new Cat();
}
abstract class anmial{
String name;
int age;
//動物會叫,不知道會怎樣去叫 ---必須要抽象
//抽象方法在抽象類中 抽象類同樣繼承
abstract public void cry();
}
//當一個類繼承父類是抽象類,子類必須實現其中所有的抽象方法
class Cat extends anmial{
public void cry()
{
//實現;不會報錯
}
}
- 2. 接口----實現多繼承和多態
class 類名 implement interface
{
}
1). 實現接口的話,必須實現接口中所有的方法4).一個接口不能繼承其他類 可以繼承其他接口;但是實現接口時候除了實現本接口中方法,還要實現繼承的接口中方法
/**
*
*/
package ExtendsDemo;
/**
* @author
*
*/
public interface USB extends kkk {
int a=0;//static 類型且 final
public void start();
public void stop();
}
interface kkk{
public void fry();
}
//一個類實現多個接口
class Camera implements USB,kkk
{
//當一個類實現某個接口,必須該類實現接口所有方法
@Override
public void start() {
// TODO Auto-generated method stub
System.out.println("我是相機 開始工作");
}
@Override
public void stop() {
// TODO Auto-generated method stub
System.out.println("我是相機 停止工作");
}
@Override
public void fry() {
// TODO Auto-generated method stub
}
}
class Phone implements USB
{
@Override
public void start() {
// TODO Auto-generated method stub
System.out.println("我是phone 開始工作");
}
@Override
public void stop() {
// TODO Auto-generated method stub
System.out.println("我是phone 停止工作");
}
@Override
public void fry() {
// TODO Auto-generated method stub
}
}
class Computer{
public void USeUsb( USB usb)
{//多態,電腦自己識別調用不同實例
usb.start();
usb.stop();
}
}
兩者區別: