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

吉安市网站建设手机软件开发和网站开发

吉安市网站建设,手机软件开发和网站开发,建立网站tk,新郑市网站建设定制开发多态 多态的概念 所谓多态#xff0c;通俗地讲#xff0c;就是多种形态#xff0c;具体点就是去完成某个行为#xff0c;当不同的对象去完成时会产生出不同的状态。 比如#xff1a; 这一时间爆火的“现代纪录片”中#xff0c;麦克阿瑟总是对各种“名人”有不同的评价通俗地讲就是多种形态具体点就是去完成某个行为当不同的对象去完成时会产生出不同的状态。 比如 这一时间爆火的“现代纪录片”中麦克阿瑟总是对各种“名人”有不同的评价这也可看做多态。  总的来说同一件事情发生在不同对象身上就会产生不同结果。 多态的实现条件 在Java中要实现多态必须满足以下几个条件缺一不可 1.必须在继承体系下向上转型 2.子类必须对父类中的方法进行重写 3.通过父类的引用调用重写的方法 多态体现在代码运行时当传递不同对象会调用对应类中的方法。 举个例子 class Animal {String name;int age;public Animal(String name, int age) {this.name name;this.age age;}public void eat() {System.out.println(name 吃饭);} }class Dog extends Animal {public Dog(String name, int age) {super(name, age);}Overridepublic void eat() {System.out.println(name 吃骨头);} }class Cat extends Animal {public Cat(String name, int age) {super(name, age);}Overridepublic void eat() {System.out.println(name 吃鱼干);} }public class TestAnimal {//编译器在编译代码的同时并不知道要调用Cat还是Dog中的eat方法//等程序运行起来后形参a引用的具体对象确定后才知道调用哪个方法//注意此处的形参类型必须是父类类型才可以public static void eat(Animal a) {a.eat();}public static void main(String[] args) {Dog dog new Dog(小七, 2);Cat cat new Cat(元宝, 1);eat(dog);eat(cat);} } 当类的调用者在编写eat这个方法时参数类型为Animal父类此时在该方法内部不知道 也不关注当前的a引用指向的是哪个类型哪个子类的实例。此时a这个引用调用的eat方法可能会有多种不同的表现和a引用的实例相关这个行为就叫多态。 重写 重写(override)也称为覆盖。重写是子类对父类非静态非private修饰非final修饰非构造方法等的实现过程进行重新编写返回值和形参都不能改变即外壳不变核心重写 重写的好处在于子类可以根据需要定义特定于自己的方法。也就是说子类能够根据需要实现父类的方法。 方法重写的规则 1.子类在重写父类的方法时一般必须与父类方法原型一致即返回值类型 方法名参数列表要完全一致 2.被重写的方法返回值类型可以不同但是必须具有父子关系的 3.访问权限不能比父类中被重写的方法的访问权限更低。例如如果父类方法被public修饰则子类中重写该方法就不能声明为protected 4.父类被static,private,final修饰的方法都不能被重写 5.重写的方法可以用Override注解来显式指定。有了这个注解能帮我们进行一些合法性的校验。例如不小心将方法名字拼写错了比如上面的eat错写为aet,这时编译器就会发现父类中没有aet方法就会显示编译报错 重写和重载的区别 区别点重写override重载overlaod参数列表一定不能修改必须修改返回类型一定不能修改除非可以构成父子类关系可以修改访问限定符不能做更严格的限制可以降低限制可以修改 即方法重载是一个类的多态性表现而方法重写是子类与父类的一种多态性表现 重写的设计原则 对于已经投入使用的类尽量不要进行修改。最好的方式是重新定义一个新的类来重复利用共性的内容并且添加或者改动新的内容。 例如若干年前的手机只能打电话发短信来电显示只能显示号码而今天的手机在来电显示的时候不仅仅可以显示电话号码还可以显示地区姓名等。在这个过程当中我们不应该在原来老的类上进行修改因为原来的类可能还有用户使用正确的做法是新建一个手机类对来电显示进行方法重写即可这就达到了今天的需求。 静态绑定也称为前期绑定早绑定即在编译时根据用户所传递实参类型就确定了具体调用哪个方法。典型代表函数重载。 动态绑定也成为后期绑定晚绑定即在编译时不能确定方法的行为需要等到程序运行时才能确定具体调用哪个方法。
http://www.w-s-a.com/news/662138/

相关文章:

  • 免费flash网站模板怎么仿网站链接
  • 泉州网站建设哪家好平面设计转行做什么比较好
  • 忘记网站备案账号设计一个网站
  • 国内购物网站哪个最好海珠营销网站建设报价
  • 小型网站搭建logo免费制作
  • dede 网站模板哈尔滨房产信息网官方网站
  • 设计师个人作品集模板班级优化大师网页版登录
  • 高端网站建设教学网站开发前期准备工作
  • 网站评论列表模板设计官网的
  • 怎么做可以访问网站ui设计自学学的出来吗
  • 网站如何接入支付宝软件开发工作内容描述
  • 廊坊网站建设搭建整合营销传播的效果表现为
  • 网站服务器在本地是指园林绿化
  • 公司网站建设需要什么科目网站代运营价格
  • 网站建设前的ER图ppt模板图片 背景
  • 做一个网站花多少钱网站导航营销步骤
  • 仙桃网站定制做房产网站能赚钱吗
  • 西安网站制作模板最新源码
  • 南京江宁网站建设大学高校网站建设栏目
  • 模板网站建设明细报价表做网站第一
  • 公司网站建设系统软件开发 上海
  • 怎么让公司建设网站固安县建设局网站
  • 360免费建站官网入口手机网站建设设计
  • 商城网站建站系统dw如何做网页
  • 网站建设的公司收费我有网站 怎么做淘宝推广的
  • 网站建设策划书事物选题手机兼职app
  • html5 微网站模版wordpress博客速度很慢
  • 怎么做五个页面网站网络推广如何收费
  • 上虞宇普电器网站建设江西建筑人才网
  • 在吗做网站商城一个网站需要服务器吗