博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【JAVA语法】04Java-多态性
阅读量:5935 次
发布时间:2019-06-19

本文共 2222 字,大约阅读时间需要 7 分钟。

  • 多态性
  • instanceof 关键字
  • 接口的应用

一、多态性

1.多态性的体现:

方法的重载和重写

对象的多态性

2.对象的多态性:

  • 向上转型: 程序会自动完成

    父类 父类对象 = 子类实例

  • 向下转型: 强制类型转换
    子类 子类对象 = (子类)父类实例
class A{    public void tell1(){        System.out.println("A--tell1");    }        public void tell2(){        System.out.println("A--tell2");    }}class B extends A{    public void tell1(){        System.out.println("B--tell1");    }        public void tell3(){        System.out.println("B--tell3");    }}public class test01 {            public static void main(String[] args)     {        //向上转型——系统自动完成        B b = new B();        A a = b;    //子类对象赋值给父类对象        a.tell1();  //方法重写,output :B--tell1        a.tell2();  //OUTPUT: A--tell2                                //向下转型——强制转换        A a = new B(); //子类赋值给父类,部分匹配        B b = (B)a;        b.tell1();        b.tell2();        b.tell3();        OUTPUT:                B--tell1                A--tell2                B--tell3    }            }

二、instanceof关键字

2.1 用于判断一个对象到底是不是一个类的实例

返回值为布尔类型

class A{    public void tell1(){        System.out.println("A--tell1");    }        public void tell2(){        System.out.println("A--tell2");    }}class B extends A{    public void tell1(){        System.out.println("B--tell1");    }        public void tell3(){        System.out.println("B--tell3");    }}public class test01 {            public static void main(String[] args)     {        A a = new A ();        System.out.println(a instanceof A);        System.out.println(a instanceof B);                A a1 = new B ();        System.out.println(a1 instanceof A);        System.out.println(a1 instanceof B);    }            }    OUTPUT:    true    false    true    true

三、接口应用

interface USB{    void start();    void stop();}class C {    public static void work(USB u ){        u.start();        System.out.println("Working");        u.stop();    }}class USBdisk implements USB{    public void start(){        System.out.println("the USB Disk is working");    }    public void stop(){        System.out.println("the USB Disk stopped");    }}public class inter01 {    public static void main(String[] args) {        // TODO Auto-generated method stub        C.work(new USBDisk());    }}

转载于:https://www.cnblogs.com/Neo007/p/6871912.html

你可能感兴趣的文章
分布式memcached服务器代理magent安装配置(CentOS6.6)
查看>>
Create Volume 操作(Part III) - 每天5分钟玩转 OpenStack(52)
查看>>
tomcat 8.0虚拟机配置文档
查看>>
pxc群集搭建
查看>>
JS中加载cssText延时
查看>>
常用的脚本编程知识点
查看>>
XILINX_zynq_详解(6)
查看>>
计算机网络术语总结4
查看>>
新手小白 python之路 Day3 (string 常用方法)
查看>>
soapUI的简单使用(webservice接口功能测试)
查看>>
框架 Hibernate
查看>>
python-while循环
查看>>
手机端上传图片及java后台接收和ajaxForm提交
查看>>
【MSDN 目录】C#编程指南、C#教程、ASP.NET参考、ASP.NET 4、.NET Framework类库
查看>>
jquery 怎么触发select的change事件
查看>>
angularjs指令(二)
查看>>
(原創) 如何建立一个thread? (OS) (Linux) (C/C++) (C)
查看>>
<气场>读书笔记
查看>>
领域驱动设计,构建简单的新闻系统,20分钟够吗?
查看>>
web安全问题分析与防御总结
查看>>