ljava初学者常见问题.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ljava初学者常见问题

instanceof   instanceof是Java的一个二元操作符,和==,,是同一类东西。由于它是由字母组成的,所以也是Java的保留关键字。它的作用是测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据。   举个例子:   String s = I AM an Object!;   boolean isObject = s instanceof Object;   我们声明了一个String对象引用,指向一个String对象,然后用instanceof来测试它所指向的对象是否是Object类的一个实例,显然,这是真的,所以返回true,也就是isObject的值为true。   instanceof有一些用处。比如我们写了一个处理账单的系统,其中有这样三个类:   public class Bill {//省略细节}   public class PhoneBill extends Bill {//省略细节}   public class GasBill extends Bill {//省略细节}   在处理程序里有一个方法,接受一个Bill类型的对象,计算金额。假设两种账单计算方法不同,而传入的Bill对象可能是两种中的任何一种,所以要用instanceof来判断:   public double calculate(Bill bill) {   if (bill instanceof PhoneBill) {   //计算电话账单   }   if (bill instanceof GasBill) {   //计算燃气账单   }   ...   }   这样就可以用一个方法处理两种子类。   然而,这种做法通常被认为是没有好好利用面向对象中的多态性。其实上面的功能要求用方法重载完全可以实现,这是面向对象编程应有的做法,避免回到结构化编程模式。只要提供两个名字和返回值都相同,接受参数类型不同的方法就可以了:   public double calculate(PhoneBill bill) {   //计算电话账单   }   public double calculate(GasBill bill) {   //计算燃气账单   }   所以,使用instanceof在绝大多数情况下并不是推荐的做法,应当好好利用多态。   instanceof 一般情况下 用在对象类型的强制转换 ,   例如:   继承关系 class Manager extends Employee   ----------------------------------------------------------   public void doSomething(Employee e) {   if ( e instanceof Manger){   Manager m = (Manager) e ;   }   }   网络释义   1. 运算符 返回一个 Boolean 值,表明某个对象是否为特定类的一个实例。...instanceof 运算符...返回一个 Boolean 值,表明某个给定的数是否是有穷的。   2. 和回调概念 ?instanceof和回调概念...instanceof和回调概念...   3. 动态的   4. 操作符 ? java的方法重写和覆盖 什么是方法的重载: java中,可以在同一个类中用相同的名称定义两个或者多个方法,但是参数项不同(分为参数类型不同和参数数量不同)。当两个方法名称相同而参数项不同时,那么就认为此方法被重载,而此过程就被称为方法重载。调用重载方法时,java使用参数的类型和数量决定实际调用重载方法的哪个版本。重载方法可以具有不同的返回类型,但返回类型本身不足以区分方法的两个版本。因此重载方法的参数类型或者数量必须不同.方法重载支持多态性,因为它是java实现一个接口,多重方法模式的一种方式。此外,构造方法也可以被重载。什么是方法重写:在类体系结构中,当子类中的方法与其父类中的方法具有相同的方法时,则认为子类中的方法重写了父类中的方法。从子类中调用重写方法时,将总是调用出现在子类中的方法,而父类中的方法将会被隐藏。如果程序员需要访问重写方法的父类中的该方法,可以使用关键字super来完成。 6、静态方法不能被重写为非静态的方法(会编译出错)。 overload对我们来说可能比较熟悉,可以翻译为重载,它是指我们可以定义一些名称相同的方法,通过定义不同的输入参数来区分这些方法,然后再调用时,VM就会根据不同的参数样式,来选择合适的方法执行。在使用重载要注意以下的几点: 1、在使用重载时只能通过不同的参数样式。例如,不同的参数类型,不同

文档评论(0)

yingrong + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档