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

网站制作过程/有哪些推广平台和渠道

网站制作过程,有哪些推广平台和渠道,在线教育网站做老师靠谱不,南京网站建设网定义:所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量到底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的…

定义:

所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量到底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在程序运行期间才能确定。因为在程序运行时才确定具体的类。

这样,不用修改源程序代码,就可以让引用变量绑定到各种不同的类实现上,从而导致该引用调用的具体方法随之改变,即不修改程序代码就可以改变程序运行时所绑定的具体代码,让程序可以选择多个运行状态,这就是多态性。

多态存在的三个必要条件:

1)要有继承;

2)要有重写;

3)父类引用指向子类对象(向上转型);

对于java而言,多态的实现机制遵循一个原则:当超类对象引用变量 引用 子类对象时,被引用对象的类型 决定了调用谁的成员方法,但这个被调用的方法必须是在超类中定义过的,也就是说被子类覆盖的方法。

实现形式:

1)继承;

2)接口;

基于继承实现的多态:

基于继承的实现机制主要表现在父类和继承该父类的子类对某些方法的重写,多个子类对同一方法的重写可以表现出不同的行为。

一个栗子:

public class Wine {

private String name;

public String getName(){

return name;

}

public void setName(String name){

this.name = name;

}

public Wine(){}

public String drink(){

return "喝的是 "+getName();

}

public String toString(){

return null;

}

}

public class JNC extends Wine{

public JNC(){

setName("JNC");

}

//重写父类方法,实现多态

public String drink(){

return "喝的是 "+getName();

}

public String toString(){

return "Wine :"+getName();

}

}

public class WLY extends Wine{

public WLY(){

setName("WLY");

}

public String drink(){

return "喝的是 "+getName();

}

public String toString(){

return "Wine :"+getName();

}

}

public class TestWine {

public static void main(String[] args) {

Wine[] wines = new Wine[2];

JNC jnc = new JNC();

WLY wly = new WLY();

//父类引用子类的对象

wines[0] = jnc;

wines[1] = wly;

for(int i=0;i<2;i++){

System.out.println(wines[i].toString()+"==="+wines[i].drink());

}

}

}

控制台输出:

Wine :JNC===喝的是 JNC

Wine :WLY===喝的是 WLY

程序运行结果是调用子类中的方法,这就是多态的表现。不同的对象可以执行相同的行为,但是它们都需要通过自己的实现方式来执行,这就得益于向上转型了。

如果父类是抽象类,那么子类必须要实现父类中所有的抽象方法,这样该父类所有的子类一定存在统一的对外接口,但其内部的具体实现可以各异。这样我们就可以使用顶层类提供的统一接口来处理该层次的方法。

基于接口实现的多态:

继承都是单继承,只能为一组相关的类提供一致的服务接口。但是接口可以是多继承多实现,它能够利用一组相关或者不相关的接口进行组合与扩充,能够对外提供一致的服务接口。所以它相对于继承来说有更好的灵活性。

public class A {

public String show(D obj){

return ("A and D");

}

public String show(A obj){

return ("A and A");

}

}

public class B extends A{

public String show(B obj){

return ("B and B");

}

public String show(A obj){

return ("B and A");

}

}

public class C extends B{

}

public class D extends B{

}

控制台输出:

1==A and A

2==A and A

3==A and D

4==B and A

5==B and A

6==A and D

7==B and B

8==B and B

9==A and D

http://www.jmfq.cn/news/5182327.html

相关文章:

  • 个人开发者/济南优化seo公司
  • mobile wordpress/seo岗位工资
  • 蓬莱做网站那家好/如何查询百度收录情况
  • 锦州网站建设工作/自助建站系统模板
  • 网站建设工作室图片/百度关键词排名神器
  • 房产网站栏目建设/网络营销的缺点及建议
  • seocui cn/长沙企业seo服务
  • 网站单页面策划/学校招生网络营销方案
  • 免费个人简历表电子版/进一步优化落实
  • wordpress文章页面添加广告/南宁网站seo排名优化
  • 武汉网站建设武汉/游戏推广公司靠谱吗
  • 手机网站缩放/百度推广后台登陆
  • 做网站哪个效果好/百度快速seo优化
  • 做淘宝还是做网站/人民网舆情数据中心官网
  • 成都麦卡网络做网站开发怎么样/免费发布信息的平台
  • 网络营销从网站建设开始/友情链接检查工具
  • 不用登录的传奇游戏/seo搜索引擎优化推广专员
  • 长春公司网站推广/seo关键词快速排名前三位
  • 中企动力网站建设公司/营销软文200字
  • 十堰吉安营销型网站优化营销/百度分析
  • 网站开发实训基本要求/日本搜索引擎
  • 网站导航栏设计/济南竞价托管公司
  • 网站被做301/网站外链有多重要
  • 社区网站建设与开发论文怎么写/优化落实疫情防控
  • 花店网站推广方案/企业网站优化关键词
  • 重庆专业的网站建设公司排名/深圳创新创业大赛
  • mvc做的网站/广东网站seo策划
  • 网站建设ssc源码/域名whois查询
  • 建筑类招聘网站有哪些/成都seo优化排名公司
  • 湛江网站建设托管/网站友情链接购买