什么是方法的重载与重写写、重载?

中法合作开发重载飞艇(图)
中航通飞与法国飞鲸公司签署战略合作协议
&&&&来源:&&&&
人民网北京7月2日电 (杨铁虎、胡懿)当地时间7月2日12时30分,中航通用飞机有限责任公司(简称中航通飞)与法国飞鲸控股公司(简称法国飞鲸)在法国图卢兹举行的中法工商峰会上签署了战略合作协议,拟共同投资成立合资公司,开展重载飞艇项目合作。新公司总部将设在法国巴黎。
中航通飞总经理曲景文、法国飞鲸总裁塞巴斯蒂安?布贡代表双方企业在协议书上签字。中航通飞总经理助理褚林塘及中航通飞总部有关人员参加签约仪式。
据悉,中航通飞与法国飞鲸的合资公司将面向全球交通运输市场,开展重载飞艇的研发、生产、销售及服务等工作。此次合作,将充分利用中航通飞和法国飞鲸各自在重载飞艇市场、技术及资金与政策层面的有利资源,以国际化的视野,致力于为中法两国乃至全球交通运输提供经济有效的解决方案;同时,也有助于全方位提升合作双方浮空飞行器的研制生产能力、提高合作双方参与并服务全球市场的核心竞争力。
曲景文表示,浮空飞行器的发展已明确纳入中航工业中长期发展规划,是中航通飞战略发展方向之一。面向“十三五”,中航通飞将积极发挥自身在浮空飞行器领域的多方面优势,通过实施“三步走”战略,在国内打造惟一的大型浮空飞行器产业基地。一是通过国际合作,研制生产60吨级的重载飞艇,面向国际国内市场开展销售与服务;二是创造条件发展载人飞艇,满足国内航空旅游等市场的迫切需求,形成产业规模;三是巩固发展系留气球等优势项目,拓展特种用途的市场空间,完善浮空飞行器产品谱系。此次与法国飞鲸公司合作,是中航通飞在实施浮空飞行器产业发展规划的进程中迈出的第一步,技术起点高、研制任务重、项目影响大,中航通飞和法国飞鲸将在此次签约后,按照双方既定的目标和计划,投入最优质的资源,抓紧研制重载飞艇并投入市场。
塞巴斯蒂安?布贡说,新的合资公司总部将设在法国巴黎,法国飞鲸和中航通飞的管理与技术人员将共同参与重载飞艇研发、制造和销售与服务工作,法国飞鲸对与中航通飞的合作充满信心。
中航通飞作为中国通用航空发展的领头企业,是国内最大的以通用飞行器研发制造、运营服务为主业的多元化公司。企业秉承“合作、开放”的态度,按照全球化、全谱系、全产业链、全价值链的思路,积极统筹国内外资源,加快研制具有市场竞争力的通用飞行器,努力构建喷气式公务飞机、水陆两栖飞机、单发涡桨多用途飞机、活塞式小型私人飞机、浮空飞行器等产品系列发展的良好格局。其旗下的中航工业特种飞行器研究所,拥有一支专业齐套、经验丰富的浮空飞行器研发设计、生产制造和试验试飞团队,在载人飞艇、系留气球、中低空无人飞艇和平流层飞艇的技术研究、产品开发和产业化发展方面,开展了大量卓有成效的工作。
法国飞鲸自创立以来,重点致力于第一代新型大载重飞艇的设计、制造和市场营销,以期满足不断增长的特殊货运业的需求。2014年,法国飞鲸承接了一项法国“新工业计划”项目,为法国国家林业局(ONF)研制承载60吨级的重载飞艇。早前,在法国国家航空航天委员会的支持下,法国飞鲸联合法国航空航天研究院等科研机构共同开展了60吨级的重载飞艇的市场、技术与经济性研究与评估,也为此次中航通飞与法国飞鲸的成功合作创造了良好条件。(完)
(责编:白宇、袁勃)
善意回帖,理性发言!
使用其他账号登录:
恭喜你,发表成功!
请牢记你的用户名:,密码:,立即进入修改密码。
s后自动返回
5s后自动返回
恭喜你,发表成功!
5s后自动返回
最新评论热门评论
24小时排行&|&
人 民 网 版 权 所 有 ,未 经 书 面 授 权 禁 止 使 用
Copyright &
by .cn all rights reserved
人 民 网 版 权 所 有 ,未 经 书 面 授 权 禁 止 使 用
Copyright &
by .cn. all rights reservedjava重载与重写 -
- ITeye技术网站
博客分类:
方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时
存在,具有不同的参数个数
Overloading
是一个类中多态性的一种表现。
的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具
有不同的参数和不同的定义。调用方法时通过传递给它们的不同参数个数和参数类型
来决定具体使用哪个方法
这就是多态性。
重载的时候,方法名要一样,但是参数类型和个数不一样,返回值类型可以相同
也可以不相同。
作为重载函数的区分标准。
下面是重载的例子:
package c04.//
这是这个程序的第一种编程方法,在
方法中先创建一个
类实例,然后在
类的构造方法中利用
关键字调用不同的
方法。不同的重载方法
是根据其参
数类型的不同而区分的。
注意:除构造器以外,编译器禁止在其他任何地方中调用构造器。
package c04.
public class Dog {
this.bark();
void bark()//bark()
方法是重载方法
System.out.println("no barking!");
this.bark("female", 3.4);
void bark(String m,double l)//
注意:重载的方法的返回值都是一样的,
System.out.println("a barking dog!");
this.bark(5, "China");
void bark(int a,String n)//
不能以返回值区分重载方法,而只能以“参数类型”和“类名”来区分
System.out.println("a howling dog");
public static void main(String[] args)
Dog dog = new Dog();
//dog.bark();
//dog.bark("male", "yellow");
//dog.bark(5, "China");
Overriding
父类与子类之间的多态性,对父类的函数进行重新定义。
如果在子类中定义某
方法与其父类有相同的名称和参数,我们说该方法被重写
(Overriding)
子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不
动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又
称方法覆盖。
若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,
则新方法将覆盖原有的方法。
如需父类中原有的方法,可使用
关键字,该关键
字引用了当前类的父类。
子类函数的访问修饰权限不能少于父类的;
下面是重写的例子:
public class Base
void test(int i)
System.out.print(i);
void test(byte b)
System.out.print(b);
public class TestOverriding extends Base
void test(int i)
System.out.println(i);
public static void main(String[]agrs)
Base b=new TestOverriding();
b.test((byte)0)
}这时的输出结果是
,这是运行时动态绑定的结果。
概念:即调用对象方法的机制。
动态绑定的内幕:
、编译器检查对象
声明的类型
和方法名,从而获取所有候选方法。试着把上例
注释掉,这时再编译就无法通过。
、重载决策:编译器检查方法调用的参数类型,从上述候选方法选出唯一的那一个
(其间会有隐含类型转化)。如果编译器找到多于一个或者没找到,此时编译器就会
报错。试着把上例
test(byte b)
注释掉,这时运行结果是
、若方法类型为
priavte static final
采用静态编译,编译器会准确知道该调用哪
、当程序运行并且使用动态绑定来调用一个方法时,那么虚拟机必须调用对象的
相匹配的方法版本。在例子中,
所指向的实际类型是
TestOverriding
调用子类的
。但是,子类并没有重写
test(byte b)
b.test((byte)0)
的是父类的
test(byte b)
。如果把父类的
注释掉,则通过第二步隐含类型转化为
最终调用的是子类的
test(int i)
总结:重载和重写(覆盖)
方法的重写Overriding
和重载Overloading
多态性的不同表现。重写
Overriding
是父类与子类之间多态性的一种表现,重载Overloading
是一个类中多态性
的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法
被重写 (Overriding)
。子类的对象使用这个方法时,将调用子类中的定义,对它而
言,父类中的定义如同被“
了,而且如果子类的方法名和参数类型和个数都和
父类相同,那么子类的返回值类型必须和父类的相同;如果在一个类中定义了多个同
名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载
(Overloading)
。Overloaded
的方法是可以改变返回值的类型。也就是说,重载的返回
值类型可以相同也可以不同。
Henry.cong
浏览: 83342 次
来自: 大连
厉害厉害,受教了,写得很详细,大牛查看:3359|回复:3
对于JAVA中方法的重载和覆盖,具体在什么时候用,我很模糊,求大神赐教
你应该去看看《Java学习手记》啦。
这是这本书里面的内容:
在继承中,子类不但可以继承自父类中的属性和方法,还可以增加子类自身的属性和方法。子类可以通过成员变量的隐藏和成员方法的重写,把父类的属性和方法改变为子类自身的属性和方法。如果子类中定义的方法使用的方法名、返回类型和参数列表与父类中的方法一样,则称为子类的方法重写了父类方法。
子类方法重写父类的方法,利用方法的重写,可以重定义父类中的方法。方法重写只存在于子类和父类之间,同一个类中只能重载。
初级工程师
实际应用中,一班在工程搭建时用的比较多。
工程要求代码重用度最大,代码扩展性最高。
所以在设计中,常常要考虑到重写,继承,重
载等java特性。
简单的说,同样的方法需要用不同参数的时候,就重载。比如找一个同事,你可以根据工号找,可以根据名字找,可以根据工位位置找,那么“找同事()”方法就可以重载三次。
子类对父类方法有不同实现的时候,就覆盖。比如你和你爸都拿筷子吃饭,但你爸是左撇子你不是,那你就得重写你爸遗传给你的“拿筷子()”方法,否则你也得操练操练左手才行。1229人阅读
首先需要明白什么是继承?为什么需要继承?继承的是什么?
软件工程里面,有个很重要的事情,就是“代码复用”,将需要重复使用的代码抽取出来,封装成函数,便是最简单的复用。此处还没有继承的概念,当OOP的思想出来后,出现了“类”——数据与行为的封装体。在类里面,数据被称之为属性(Attribute);而行为则被称之为函数(Funcation)或者方法(Method)。复用也就是复用这些个东西。什么情况下需要复用呢?当我们的代码有一部分功能已经完成,而我们对其功能感觉还不足以满足我们的需求,那么便要对其改造。当然,我们不能直接修改已经完成的代码,只能退而求其次,将他的代码复制过来,然后把不满意的地方进行修改!这样短暂的满足了要求,但是问题又来了,原来的类升级了,部分功能更新了。我拿来一瞧,倘若改的是我们拿来之后改过的部分,那倒没什么问题,反正我们还是要改的。但如果改的是其他我们需要的功能,那么,我们必须再次拿出代码来复制一遍。这样的做法,谈不上复用。那么如何才能复用呢?继承,继承什么,继承一个类。类里面有什么,我们就可以继承什么。属性、方法都可以被继承!
首先继承过后的类跟原来的类不是一个类,他们之间的关系很简单,新的类知道自己扩展的是谁,而反过来不行。例如A extends B,B是不知道被A继承了的,只有通过A类去反推才能得知。A可以看做是B的另外一个版本。B不具备或者不满足的功能,在A里面重新做一下。这里有一个问题需要讲一下,类里面包含了对象的信息,而对象在内存里面,仅仅包含了数据,而没有方法,所有的方法都在类里面,当我们对某个对象的引用调用其方法时,等于将内存中,该对象的数据交给其方法去处理,那么此时就有个方法定位的问题。很明显,调用方法时就已经指明了调用这个方法的对象,那么从该对象的类开始搜寻,如果搜到该方法,则调用之,若搜索不到,则向上搜寻其超类,以此类推,直到搜到为止。如果自身存在和超类中一致的方法,根据自身优先原则,自身的方法将被调用,那么超类中的方法很自然就被遮盖了。注意此处的用词,为遮盖而不是替换,超类中的方法依然存在,只不过不会被调用而已。这个现象即被称之为方法覆盖,又称之为重写(Override)。想要调用父类的方法,在方法内使用super关键字显性调用即可!
当我们的类不希望被继承(扩展),也即,设定某个类为最终版本,不允许有某个类对其进行继承,那么该类应当被修饰为final,当你尝试去继承一个final类时,会发生编译错误。而有些时候,我们并不完全限定死我们的类不被继承,而仅仅是限定某些方法不被重写(因为子类是可以冒充超类的),那么我们就需要将对应的方法修饰为final,也即,此方法为最终版本,不允许修改!重写一个final方法会引发编译错误。
那么此时有个额外的问题,子类能够重载(Overload)超类的final方法?
答案是可以!
无论是重载自身还是超类的方法,重载的方法之间,除了方法名一致外,还有其他联系么?很明显,方法签名最重要的部分是方法名和参数类型列表!而重载即为同名不同参,也即是说,重载的方法之间,除了方法名很凑巧的一致外,本质上根本就完全是两个不同的方法,毫无关系而言。
但重写不行,因为方法签名一致或者说是兼容吧,那么如何兼容法呢?
一个方法的申明,有以下元素组成:修饰符,返回值类型,方法名,参数列表,异常类型集合
子类跟超类某方法的签名完全一致当然是最好,这个绝对没问题。
那么是不是必须一致呢,必须一致的只有方法名和参数列表而已,其他的因情况而异
异常集合,当然跟参数列表不一样,是无序的,你可以写多个。但是有一个原则,你所有的异常范围不能超越超类里面该方法所申明的异常范围。否则的话,就是挂羊头卖狗肉,编译不会通过。
修饰符也一样,访问性不能更狭隘,可以平级,但是绝对不能将public的方法写成private,理由同上!
版权声明:本文为博主原创文章,未经博主允许不得转载。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:766784次
积分:8788
积分:8788
排名:第926名
原创:122篇
转载:115篇
译文:10篇
评论:88条
(7)(2)(3)(2)(3)(2)(15)(2)(3)(1)(2)(7)(4)(2)(1)(1)(5)(6)(4)(9)(10)(11)(13)(4)(3)(15)(9)(8)(58)(18)(14)(1)(1)

我要回帖

更多关于 重写和重载有什么不同 的文章

 

随机推荐