当前位置: 首页 > news >正文

营销单页网站wordpress 显示缩略图

营销单页网站,wordpress 显示缩略图,多种语言网站制作,wordpress 弹窗打开多态 多态指的就是同一事物在不同情况下表现出来的不同状态或者行为。在java中#xff0c;当调用同一个方法时#xff0c;由于对象存在差异#xff0c;不同的对象之间可能存在不同的行为#xff0c;当父类引用指向了子类对象#xff0c;用这个父类引用调用子类中重写的方法… 多态 多态指的就是同一事物在不同情况下表现出来的不同状态或者行为。在java中当调用同一个方法时由于对象存在差异不同的对象之间可能存在不同的行为当父类引用指向了子类对象用这个父类引用调用子类中重写的方法时多态就出现了。 那么要如何理解多态的概念呢这里说一个简单的例子比如上班将其理解为一个方法这个方法在人这个类中有上班族这个对象来执行但是不同的人的上班方式是不一样的老板可能是开车上班的打工人可能是挤地铁、坐公交或者骑共享单车上班的还有可能是骑电瓶车上班的。这个对于同一个方法的不同实现方式就是指的多态因此在java中多态只能是方法的多态而不是属性的多态多态与属性没有关系。 需要注意的是多态只能在拥有方法重写的子类与父类中出现并且必须要有父类引用指向子类对象。那么又如何理解父类引用指向子类对象呢这里先编写一个程序来实现多态用实际的例子来说明父类引用指向子类对象。 首先创建一个简单的Animal类在这个类中定义一个shout方法然后创建三个Animal类的子类一个为Dog类一个为Cat类一个为Mouse类在这前两个子类中重写shout方法最后再定义一个测试类用来实现多态。以下为具体代码 package cn.duotai.demo;import org.w3c.dom.ls.LSOutput;public class Animal {public void shout(){System.out.println(叫了一声);} } class Dog extends Animal{public void shout(){System.out.println(汪汪汪);}public void seeDoor(){System.out.println(看门);}} class Cat extends Animal{public void shout(){System.out.println(喵喵喵);}public void catchMouse(){System.out.println(抓老鼠);} } class Mouse extends Animal{public void shout() {System.out.println(叫了一声);} } package cn.duotai.demo;public class TestDuoTai {static void animalCry(Animal a){a.shout();}public static void main(String[] args) {Dog d new Dog();animalCry(d);animalCry(new Cat());//测试类型转换Animal a new Dog();//向上类型转换自动类型转换//a.seeDoor();无法使用这种方式调用编码事只能识别Animal故调用时需要强制转型Dog d2 (Dog)a;//强制转型向下类型转换d2.seeDoor();//Cat c3 (Cat)a;// c3.catchMouse();编译不会出错但运行时会提示java.lang.ClassCastException类型转换错误狗不是猫if(a instanceof Dog){Dog d3 (Dog)a;d3.seeDoor();}else if(a instanceof Cat){Cat cat (Cat)a;cat.catchMouse();}} }在以上的代码之中有一行为 Animal a new Dog();在这个代码之中a 为父类Animal的引用而a指向的是Dog类的对象这就是一个很明显的父类引用指向子类对象的例子。那么Dog d new Dog;animalCry;这两行代码中有没有涉及到父类引用指向子类对象呢答案是有这里要注意的是animalCry(Animal a )这个方法中传入的参数是Animal类于是在执行 Dog d new Dog;animalCry;这两行代码时就有一个隐含的赋值操作这个操作为 Anamal a d new Dog. 很明显形式参数充当了Animal类的引用这个引用指向了Dog类的对象。下面一行的Cat类代码也是同一个原理。 对象的类型转换 在上面多态的例子中能够发现当实现父类的引用指向对象时引用类型为Animal而对象的类型为Dog。父类引用指向子类对象时子类对象的类型应该要发生变化变为Animal类的对象也就是说对象的类型能够发生转换。 那么对象的类型转换要遵循什么样的规则呢这里的规则和之前的数据类型转换时一样的向上转换回自动转换而向下转换则需要进行强制转换。比如Dog类的对象要转换为Animal类由于Animal类是Dog类的父类因此转换会自动进行但是将父类Animal对象转换为Dog类的对象时就要强制转换了就像以上代码中的Dog d3 (Dog)a;一样。 不过在这里要特别注意的一点是同级别的对象之间能否相互转换呢这里要说的是在编译上是允许的但是在运行上是不允许的。也就是说如果要进行同级别之间的对象转换比如Dog类和Cat类都是Animal的直接子类这时如果要将Dog类的对象强制转换为Cat类的对象那么编译不会报错但是运行时会报错比如上面的代码中 //Cat c3 (Cat)a; // c3.catchMouse();这两行在编译时时是不会报错的但在运行时会提示对象不能进行强制转换。 那么这是为什么呢这里需要理解一句话在java中进行类的对象转换时遵循编译看左运行看右的原则。在上面的程序之中Animal a new Dog();编译时只看代码的左边此时a 是Animal类Animal类进行强转满足Dog is Animal 的逻辑条件自然能转为Cat类因此不会报错但是在运行时看的是右边此时a 为Dog类Dog类和Cat类是同级的Cat is Dog这个条件肯定不满足因此程序执行错误无法进行对象的类型转换。
http://www.pierceye.com/news/779855/

相关文章:

  • 网站qq交谈怎么做的公司注册50万和100万
  • 网站推广的电子邮件推广使用ftp修改网站图片
  • 建设宣传家乡的网站跨境电商怎么注册
  • 广州天河区网站建设公司wordpress调用文章描述
  • 网站开发项目策划书制作书签怎么做
  • 做网站组织结构框架例子整站seo优化哪家好
  • 网站内存不足哈尔滨网站优化页面
  • 响应式网站 图片尺寸奇数南宁网站建设业务员
  • 咸宁 网站建设wordpress聚合广告平台
  • 家具展示型网站个人可以做几个网站
  • 建设网站商城需要多少费用注册网页代码
  • 徐州企业网站制作南宁网站建设专家
  • 雨发建设集团有限公司网站wordpress related posts
  • 成品网站速成网站大连专业app开发设计
  • 十堰门户网站建设中小企业网站制作407
  • 房产网站排行部署自己做的网站吗
  • 一_建设网站前的市场分析平台线上推广策略怎么写
  • 全国网站建设公司排名嘉兴网嘉兴网站建设
  • 渭南网站建设风尚网络python做网站显示表格
  • 网站访问过程服装定制行业的未来和趋势
  • 做拍卖网站多少钱怎么推广一个产品
  • 郑州做公司网站怎么做类似美团的网站吗
  • 网站建设服务公网站备案中是什么意思
  • 书店网站建设网站被k 如何恢复
  • 柳州做网站的企业瓯北网站制作
  • 南京建设银行网站蓬莱市住房和规划建设管理局网站
  • 网站前端用的到ps做教育app的网站有哪些
  • 有没有兼职做网站的低价自适应网站建设
  • 文成网站建设所有关键词
  • 吉林市做网站哪家好建网站的方法