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

网站建设做什么会计科目备案查询

网站建设做什么会计科目,备案查询,网站建设微信运营公司,深圳市住建局造价站一、两个对象值相同(x.equals(y) true),但却可有不同的hash code,这句话对不对?答:不对,如果两个对象x和y满足x.equals(y) true,它们的哈希码(hash code)应当相同。Java对于eqauls…

一、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?

答:不对,如果两个对象x和y满足x.equals(y) == true,它们的哈希码(hash code)应当相同。Java对于eqauls方法和hashCode方法是这样规定的:(1)如果两个对象相同(equals方法返回true),那么它们的hashCode值一定要相同;(2)如果两个对象的hashCode相同,它们并不一定相同。当然,你未必要按照要求去做,但是如果你违背了上述原则就会发现在使用容器时,相同的对象可以出现在Set集合中,同时增加新元素的效率会大大下降(对于使用哈希存储的系统,如果哈希码频繁的冲突将会造成存取性能急剧下降)。

补充:关于equals和hashCode方法,很多Java程序都知道,但很多人也就是仅仅知道而已,在Joshua Bloch的大作《Effective Java》(很多软件公司,《Effective Java》、《Java编程思想》以及《重构:改善既有代码质量》是Java程序员必看书籍)中是这样介绍equals方法的:首先equals方法必须满足自反性(x.equals(x)必须返回true)、对称性(x.equals(y)返回true时,y.equals(x)也必须返回true)、传递性(x.equals(y)和y.equals(z)都返回true时,x.equals(z)也必须返回true)和一致性(当x和y引用的对象信息没有被修改时,多次调用x.equals(y)应该得到同样的返回值),而且对于任何非null值的引用x,x.equals(null)必须返回false。实现高质量的equals方法的诀窍包括:1. 使用==操作符检查“参数是否为这个对象的引用”;2. 使用instanceof操作符检查“参数是否为正确的类型”;3. 对于类中的关键属性,检查参数传入对象的属性是否与之相匹配;4. 编写完equals方法后,问自己它是否满足对称性、传递性、一致性;5. 重写equals时总是要重写hashCode;6. 不要将equals方法参数中的Object对象替换为其他的类型,在重写时不要忘掉@Override注解。

二、是否可以继承String 类?

答:String 类是final类,不可以被继承。

补充:继承String本身就是一个错误的行为,对String类型最好的重用方式是关联(HAS-A)而不是继承(IS-A)。

三、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?

答:是值传递。Java 编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的属性可以在被调用过程中被改变,但对象的引用是永远不会改变的。C++和C#中可以通过传引用或传输出参数来改变传入的参数的值。

补充:Java中没有传引用实在是非常的不方便,这一点在Java 8中仍然没有得到改进,正是如此在Java编写的代码中才会出现大量的Wrapper类(将需要通过方法调用修改的引用置于一个Wrapper类中,再将Wrapper对象传入方法),这样的做法只会让代码变得臃肿,尤其是让从C和C++转型为Java程序员的开发者无法容忍。

四、String 和StringBuilder、StringBuffer 的区别?

答:Java 平台提供了两种类型的字符串:String和StringBuffer / StringBuilder,它们可以储存和操作字符串。其中String是只读字符串,也就意味着String引用的字符串内容是不能被改变的。而StringBuffer和StringBuilder类表示的字符串对象可以直接进行修改。StringBuilder是JDK 1.5中引入的,它和StringBuffer的方法完全相同,区别在于它是在单线程环境下使用的,因为它的所有方面都没有被synchronized修饰,因此它的效率也比StringBuffer略高。

补充1:有一个面试题问:有没有哪种情况用+做字符串连接比调用StringBuffer / StringBuilder对象的append方法性能更好?如果连接后得到的字符串在静态存储区中是早已存在的,那么用+做字符串连接是优于StringBuffer / StringBuilder的append方法的。

五、重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分?

答:方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性。重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同、参数个数不同或者二者都不同)则视为重载;重写发生在子类与父类之间,重写要求子类被重写方法与父类被重写方法有相同的返回类型,比父类被重写方法更好访问,不能比父类被重写方法声明更多的异常(里氏代换原则)。重载对返回类型没有特殊的要求。

http://www.mnyf.cn/news/35012.html

相关文章:

  • 做网站端口映射媒体发稿平台
  • 自助建站申请书汕头seo排名公司
  • wordpress 学习群核心关键词如何优化
  • 青岛做网站和小程序的公司软文广告经典案例300
  • wordpress 点击文章图片路径泉州百度seo公司
  • c语言做网站qq引流推广平台
  • 咸阳做网站的公司有哪些今日全国疫情最新消息
  • 四川省建设厅网站官网个人登录镇江seo公司
  • 怎样做交互式网站最好的bt种子搜索神器
  • 赤峰市城乡建设委员会官方网站天津seo培训机构
  • 网站编程论文百度加盟
  • 电子商务网站搜索引擎设计软文新闻发布平台
  • 福田网站改版seo和sem的概念
  • 成都制作网站公司深圳网站关键词排名优化
  • 个体工商户怎么做网站十大暗网搜索引擎
  • 怎样查找企业联系方式百度seo搜搜
  • 阿里云 做购物网站网站网络推广和网站推广
  • 集约化网站建设方案营销培训课程视频
  • 移民网站模板深圳网络推广外包
  • 郑州专业做淘宝直播网站百度推广区域代理
  • 网站建设策划方案怎么写网站搜索查询
  • ftp网站地图怎么做seo优化工作内容
  • 八宿县网站seo优化排名哪些平台可以发布软文
  • 企业网站怎么建设方案搜狗竞价
  • 网站建设类公司项目网站
  • 网站做优化需要多少钱新东方培训机构官网
  • .net和java做网站比例2022年关键词排名
  • 网站开发论文需要写什么上海seo优化外包公司
  • 中国建设银行启东市支行网站新手小白怎么做跨境电商
  • 足球网站怎么做的免费推广网站