Java_类和对象(多态 接口)

2017-09-08  本文已影响15人  Miss_差不多

接口

接口和类的相似点

接口与类的区别

抽象类和接口的区别

接口的案例

public interface Carepet {
    public  void play();
    public  void eat();
    

}
interface playgrame{
    public void plays();
}

class work implements Carepet,playgrame
{
    public static void main(String[] args) {
        Carepet carepet = new work();
        work w = (work)carepet;
        w.plays();
        w.play();
        w.eat();
        
    }
@Override
    public void play() {
        System.out.println("在工地上完");
        
    }
@Override
    public void eat() {
        System.out.println("吃剩饭");
    }
@Override
    public void plays() {
        System.out.println("在网吧玩游戏");
        
    }
}
class farmer implements Carepet{

    @Override
    public void play() {
        System.out.println("在农场玩");
        
    }
@Override
    public void eat() {
        System.out.println("吃饭");
        
    }
}

class leader implements Carepet{

    @Override
    public void play() {
        System.out.println("在操场玩");
        
    }

    @Override
    public void eat() {
        System.out.println("吃专用粮");
        
    }
    
}

多态

多态案例

public class Test1 {
    public static void main(String[] args) {
        //Cat cat = new Cat();
        Animal a = new Cat();
        a.eat();
        //instanceof  当父类中没有子类的方法的时候需要强转     判断a的真实类型是不是cat.
        if (a instanceof Cat) {
            System.out.println("猫类");
            Cat c = (Cat) a;//强制类型转换
            c.sleep();
            }
    }
}
class Animal{
    void eat(){
        System.out.println("动物吃");
        }
}

class Dog extends Animal{
    @Override
    void eat() {
        System.out.println("狗狗爱吃骨头");;
    }
}

class Cat extends Animal{
    @Override
    void eat() {
        System.out.println("猫爱吃鱼");;
    }
    void sleep(){
        System.out.println("猫睡觉");
    }
    
}
上一篇 下一篇

猜你喜欢

热点阅读