• Java中多态举例说明


    这里我也就大概说一下他们的关系,
    接口就是动物,然而每一个类就是一种动物
    给猫有两个功能:叫和睡觉
    狗:叫
    在f方法里面可以把猫的功能实现
    但不能实现狗的功能
    在主方法里面有一个猫有一个狗
    分别调用

    这里一个类可以继承于多个接口下面
    继承的多个接口用,分开
    再举个例子就是
    鳄鱼和蚂蚁都能爬,但是鳄鱼还能进水,而蚂蚁不行
    鳄鱼可以继承陆地和水
    而蚂蚁只能继承陆地

    
    interface Animal{//接口
    	 void show();
    }
    
     class cat implements Animal{//猫是动物的一种,就继承在他下面
    	public void show() {
    		System.out.println("喵喵喵……");
    	}
    	
    	public void sleep() {
    		System.out.println("睡觉……");
    	}
    }
    
     class dog implements Animal{//狗同上
    	public void show() {
    		System.out.println("汪汪汪……");
    	}
    }
    public class 多态 {
    	public static void main(String[] args) {
    		Animal a = new cat ();
    		a.show();
    		Animal b = new dog();
    	    b.show();
    	    f(a);
    	    f(b);
    	}
    	public static void f(Animal animal) {
    		if(animal instanceof cat) {//Java自带方法看an是不是cat的子集
    			//如果不是cat的子集,就跳过,dog中没有睡觉一说
    		cat cat = (cat) animal;
    		cat.show();
    		cat.sleep();
    		}
    		else {
    			System.out.println("this animal is not a cat");
    		}
    		
    	}
    }
    
    
  • 相关阅读:
    bzoj2748:[HAOI2012]音量调节
    bzoj2287:[POJ Challenge]消失之物
    bzoj1485:[HNOI2009]有趣的数列
    Codeforces 620E New Year Tree
    CF813E Army Creation
    527D.Clique Problem
    4337: BJOI2015 树的同构
    Codeforces Round #443 (Div. 1) C. Tournament
    [BZOJ4913][SDOI2017]遗忘的集合
    [八省联考2018]林克卡特树lct
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13078172.html
Copyright © 2020-2023  润新知