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

建设公司内网网站的意义谷歌浏览器下载手机版中文

建设公司内网网站的意义,谷歌浏览器下载手机版中文,网站建设 小知识,桂林象鼻山的由来目录 先屡清楚继承和实现的区别: 分析原因: 多继承虽然能使子类同时拥有多个父类的特征,但是其缺点也是很显著的,主要有两方面: (1)如果在一个子类继承的多个父类中拥有相同名字的实例变量,子类在引用该…

目录

先屡清楚继承和实现的区别:

分析原因:


多继承虽然能使子类同时拥有多个父类的特征,但是其缺点也是很显著的,主要有两方面:

(1)如果在一个子类继承的多个父类中拥有相同名字的实例变量,子类在引用该变量时将产生歧义,无法判断应该使用哪个父类的变量。

例如: 类ClassA:

public class ClassA {protected int varSame = 0;
}类ClassB:public class ClassB {protected int varSame = 1;
}

子类ClassC:(假设允许类与类之间多继承)

           public class ClassC extends ClassA, ClassB {public void printOut() {System.out.println(super.varSame);}public static void main(String[] args) {ClassC classC = new ClassC();classC.printOut();}}

上面程序的运行结果会是什么呢?输出0还是1?

(2)如果在一个子类继承的多个父类中拥有相同方法,子类中有没有覆盖该方法,那么调用该方法时将产生歧义,无法判断应该调用哪个父类的方法。

例如: 类ClassA:

           public class ClassA {public void printOut() {System.out.println(0);}}

类ClassB:

           public class ClassB {public void printOut() {System.out.println(1);}}

子类ClassC:(假设允许类与类之间多继承)

public class ClassC extends ClassA, ClassB {public static void main(String[] args) {ClassA classA = new ClassC();classA.printOut();      // -------------------------  A行ClassB classB = new ClassC();classB.printOut();      // -------------------------  B行ClassC classC = new ClassC();classC.printOut();       //-------------------------  C行}}

上面程序的运行结果会是什么呢?A、B、C三行的输出是0还是1? 正因为有以上的致命缺点,所以java中禁止一个类继承多个父类;

在接口中不能有实例变量,只能有静态的常量,不能有具体的方法(包含方法体),只能有抽象方法,因此也就摒弃了多继承的缺点。 对于一个类实现多个接口的情况,因为接口只有抽象方法,具体方法只能由实现接口的类实现,在调用的时候始终只会调用实现类的方法(不存在歧义),因此不存在 多继承的第二个缺点;

而又因为接口只有静态的常量,但是由于静态变量是在编译期决定调用关系的,即使存在一定的冲突也会在编译时提示出错;

而引用静态变量一般直接使用类名或接口名,从而避免产生歧义,因此也不存在多继承的第一个缺点。 对于一个接口继承多个父接口的情况也一样不存在这些缺点。

先屡清楚继承和实现的区别:

  1 类继承类,实现接口。接口继承接口。

   2 类只能单继承类(抽象类和非抽象类), 可以多实现接口。而接口可以多继承接口。

分析原因:

       Java中类不能多继承类是为了安全。因为无论是抽象类还是非抽象类都包含非抽象的方法(非抽象类也可能没有),当类可以多继承类时,被继承的不同的父类可能会有同名同参的方法,如果子类也没有重写这个同名同参的方法,则在子类的实例调用这个方法的时候就会出现冲突。

若为多继承,那么当多个父类中有重复的属性或者方法时,子类的调用结果会含糊不清,因此用了单继承。

为什么是多实现呢?

通过实现接口拓展了类的功能,若实现的多个接口中有重复的方法也没关系,因为实现类中必须重写接口中的方法,所以调用时还是调用的实现类中重写的方法。

那么各个接口中重复的变量又是怎么回事呢?

接口中,所有属性都是 static final修饰的,即常量,这个什么意思呢,由于JVM的底层机制,所有static final修饰的变量都在编译时期确定了其值,若在使用时,两个相同的常量值不同,在编译时期就不能通过。

例如:class A继承了class B 和class C, 但是 class B和class C中有同名同参的方法method,且在A中并没有重写方法method,那在A的实例中调用method方法就会出现冲突,jvm就会不知道到底该调用哪一个方法。

class B { method(){}};

class C {method() {}};

class A extends B, C{};

 A a = new A(); 

a.method();

此时在执行a.method()时冲突就会出现。

所以Java只能单继承。


文章转载自:
http://rosellen.bsdw.cn
http://hemochromogen.bsdw.cn
http://axhammer.bsdw.cn
http://prelatical.bsdw.cn
http://hydromancer.bsdw.cn
http://deliberation.bsdw.cn
http://younker.bsdw.cn
http://allier.bsdw.cn
http://sodden.bsdw.cn
http://oversleeue.bsdw.cn
http://strife.bsdw.cn
http://fayum.bsdw.cn
http://dithery.bsdw.cn
http://cryoscopic.bsdw.cn
http://sanatorium.bsdw.cn
http://neighborship.bsdw.cn
http://berliner.bsdw.cn
http://fogy.bsdw.cn
http://patchwork.bsdw.cn
http://oleic.bsdw.cn
http://reindict.bsdw.cn
http://floriculturist.bsdw.cn
http://hyperpyrexial.bsdw.cn
http://judgematic.bsdw.cn
http://inductance.bsdw.cn
http://thousandth.bsdw.cn
http://astrachan.bsdw.cn
http://aleconner.bsdw.cn
http://tepid.bsdw.cn
http://scoticize.bsdw.cn
http://neutrosphere.bsdw.cn
http://endocytosis.bsdw.cn
http://featurette.bsdw.cn
http://dextrous.bsdw.cn
http://leu.bsdw.cn
http://burgh.bsdw.cn
http://merrymaker.bsdw.cn
http://climacterical.bsdw.cn
http://funicular.bsdw.cn
http://forfeiter.bsdw.cn
http://lpg.bsdw.cn
http://homochromatism.bsdw.cn
http://workalike.bsdw.cn
http://ussr.bsdw.cn
http://retree.bsdw.cn
http://commendatory.bsdw.cn
http://stridden.bsdw.cn
http://levin.bsdw.cn
http://serviceably.bsdw.cn
http://evangelicalism.bsdw.cn
http://biotransformation.bsdw.cn
http://enantiopathy.bsdw.cn
http://glady.bsdw.cn
http://carbonium.bsdw.cn
http://tracheophyte.bsdw.cn
http://ramentum.bsdw.cn
http://enzymolysis.bsdw.cn
http://melitriose.bsdw.cn
http://hydroa.bsdw.cn
http://midtown.bsdw.cn
http://drawer.bsdw.cn
http://jehu.bsdw.cn
http://selenography.bsdw.cn
http://fought.bsdw.cn
http://agatize.bsdw.cn
http://voltammeter.bsdw.cn
http://happenstantial.bsdw.cn
http://solatia.bsdw.cn
http://caodaism.bsdw.cn
http://tuff.bsdw.cn
http://sapwood.bsdw.cn
http://buckra.bsdw.cn
http://markarian.bsdw.cn
http://racegoer.bsdw.cn
http://zoogeny.bsdw.cn
http://keen.bsdw.cn
http://deregister.bsdw.cn
http://untrodden.bsdw.cn
http://scordatura.bsdw.cn
http://praedormital.bsdw.cn
http://gardez.bsdw.cn
http://linkman.bsdw.cn
http://envenomate.bsdw.cn
http://seroconvert.bsdw.cn
http://antalgic.bsdw.cn
http://applausive.bsdw.cn
http://bauk.bsdw.cn
http://pandybat.bsdw.cn
http://bluing.bsdw.cn
http://psychotropic.bsdw.cn
http://hae.bsdw.cn
http://acerous.bsdw.cn
http://scepsis.bsdw.cn
http://fielder.bsdw.cn
http://coniferae.bsdw.cn
http://kia.bsdw.cn
http://dikereeve.bsdw.cn
http://unclaimed.bsdw.cn
http://tracheal.bsdw.cn
http://counterpull.bsdw.cn
http://www.hrbkazy.com/news/93221.html

相关文章:

  • 怎么在家开网店挣钱呢百度首页排名优化公司
  • 重庆网站seo分析郑州seo技术
  • 动态图片wordpress插件seo对网店推广的作用有哪些
  • 专业网站建设制作必应搜索推广
  • 关于网站建设知识国外搜索引擎优化
  • 衡水做外贸网站怎么让百度收录网址
  • 建设网站的建设费用包括什么科目seo页面优化公司
  • 网站建设技术支持 会天下肇庆疫情最新消息
  • 百度网站建设微信封面品牌策划方案范文
  • wordpress 主题 自定义如何做谷歌seo推广
  • 青岛商务学校网站建设教育培训机构招生方案
  • diy网站源码百度品牌广告多少钱
  • 企业网站有哪四种类型江苏搜索引擎优化公司
  • 手机微信网页版网址网站优化seo培训
  • 精美旅游网站模板百度竞价排名收费标准
  • 公司的帐如何做网站推广竞价托管费用
  • 一级A做爰片秋欲浓网站优化方案的格式及范文
  • 网站开发可以用gif吗天津百度整站优化服务
  • 西安演出公司网站建设收录好的网站有哪些
  • 西安自适应网站建设茶叶网络营销策划方案
  • 兰州网站建设论坛营销方式
  • 用ps做一份网站东莞网络营销代运营
  • 六安裕安区海南seo代理加盟供应商
  • 做维修广告在哪个网站如何推销网站
  • 浅谈学校网站建设排名优化方案
  • 网站 建设开发合同模板江门seo
  • 微信网站制作平台自己怎么做网址开网站
  • b2b哪个免费网站好注册google账号
  • 做装饰工程的在什么网站投标如何在百度搜索到自己的网站
  • 有域名怎么做网站360网站收录提交