zoukankan      html  css  js  c++  java
  • 多态&接口

    多态

    多态定义:允许一个父类变量引用子类的对象;允许一个接口类型引用实现类对象。

    多态的调用:使用父类的变量指向子类的对象;所调用的属性和方法只限定父类中定义的属性和方法,不能调用子类中特有的属性和方法,

    多态主要应用为多态参数和多态对象

    package JobTest;
    
    abstract class Job {
        public abstract void work();// 为了方便进行多态调用
    }
    
    class Teacther extends Job {
        @Override
        public void work() {
            System.out.println("上课");
        }
    }
    
    class Cookies extends Job {
        @Override
        public void work() {
            System.out.println("做饭");
        }
    }
    
    class Driver extends Job {
        @Override
        public void work() {
            System.out.println("开车");
        }
    }
    
    package JobTest;
    
    public class JobTest {
    
        public static void main(String[] args) {
            Job a=new Teacther();//父类类型变量a指向子类对象teacther
            Job b=new Cookies();//父类类型变量b指向子类对象Cookies
            Job    c=new Driver();//父类类型变量c指向子类对象Driver
            a.work();
            b.work();
            c.work();
        }
    
    }

    以上实例是简单使用多态实例,父类Job分别使用变量指向子类对象Teacher/Cookies/Driver;

    如果一个类继承抽象类,那么必须重写抽象类中所有抽象方法(@Override)

    接口

    接口可以看做抽象类的特例

    接口中只能定义抽象方法,接口可以看做行为的抽象。

    接口中的方法只能是public

    接口中变量为public static final

    public interface Iwash {
    public abstract void wash();
    }
    
    class Mun implements Iwash{
    
        @Override
        public void wash() {
            System.out.println("手洗");
            
        }
    
    }
    
    class Washer implements Iwash {
    
        @Override
        public void wash() {
            System.out.println("电机搅动");
    
        }
    
    }
    public class TestWash {
    
        public static void main(String[] args) {
            Iwash w = new Mun();
            w.wash();
    
        }
    
    }

    实例中建立一个Iwash接口,Mum和Wash都有wash这个行为,所以都有Iwash接口

    接口用于在不同的类实例当中,共享通用行为,重用方法。

    接口和多态的概念不是很难,但是在于灵活运用。

  • 相关阅读:
    怎样编写YARN应用程序
    Oracle整形转字符串to_char()
    js 前加分号和感叹号的含义
    Android 多屏适配解决方式
    nginx负载均衡基于ip_hash的session粘帖
    mysql锁SELECT FOR UPDATE【转】
    redis主从复制
    mysql 优化实例之索引创建
    mysql sql优化实例
    MySQL 慢查询日志分析及可视化结果
  • 原文地址:https://www.cnblogs.com/zxiaoyuer/p/6790679.html
Copyright © 2011-2022 走看看