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

长春网站建设策划方案竞价推广外包公司

长春网站建设策划方案,竞价推广外包公司,直播电商平台有哪些,钓鱼网站开发系列教程一、重写和重载 在Java中#xff0c;重写#xff08;Override#xff09;和重载#xff08;Overload#xff09;是面向对象编程中两个非常重要的概念#xff0c;它们都与方法的定义和调用有关#xff0c;但两者有着本质的区别。 1、重写#xff08;Override#xff…一、重写和重载 在Java中重写Override和重载Overload是面向对象编程中两个非常重要的概念它们都与方法的定义和调用有关但两者有着本质的区别。 1、重写Override 重写是子类对父类中继承来的方法进行重新定义也就是方法签名相同但方法体不同。当子类需要修改从父类继承来的方法的行为时就会使用到重写。重写的目的是允许子类提供特定于自己的实现。 重写的规则 方法名、参数列表必须相同这是为了保持多态性即父类类型的引用可以指向子类对象并调用实际子类对象的方法。返回类型对于非静态方法返回类型可以是父类方法的返回类型的子类型Java 5及以后版本支持协变返回类型。对于静态方法返回类型必须相同。访问修饰符子类方法的访问级别不能低于父类方法的访问级别但可以有更高的访问级别。异常子类方法抛出的异常应该是父类方法抛出异常的子类或没有异常Java 7及以后版本支持更灵活的异常处理规则。 示例 class Animal {void eat() {System.out.println(This animal eats food.);} }class Dog extends Animal {Overridevoid eat() {System.out.println(Dog eats dog food.);} }在这个例子中Dog类重写了Animal类的eat方法。 2、重载Overload 重载是在同一个类中允许存在多个同名的方法只要它们的参数列表不同即可。参数列表不同意味着参数的数量、类型或顺序至少有一项不同。重载的主要目的是提供灵活的方法调用允许根据传递的参数类型或数量来调用不同的方法实现。 重载的规则 方法名必须相同。参数列表必须不同参数的数量、类型或顺序不同。方法的返回类型、访问修饰符以及抛出的异常类型与重载无关。 示例 class MathUtils {// 方法1int add(int a, int b) {return a b;}// 方法2重载double add(double a, double b) {return a b;}// 方法3重载参数数量不同int add(int a, int b, int c) {return a b c;} }在这个例子中MathUtils类有三个名为add的方法但它们的参数列表不同因此它们是重载关系。 总结 重写是子类对父类方法的重新定义用于提供特定于子类的实现。重载是在同一个类中允许存在多个同名但参数列表不同的方法用于提供灵活的方法调用。重写是面向对象多态性的体现而重载是编译时多态性的体现。 二、equals 和 hashcode 1、简述 hashCode() 和 equals(Object obj) 的作用及其关系 hashCode() 方法用于获取对象的哈希码即一个整数。这个哈希码在基于哈希的集合如HashSet、HashMap等中用于确定对象的存储位置。 equals(Object obj) 方法用于比较两个对象是否相等。默认情况下它比较的是对象的引用地址但在自定义类中通常会重写该方法以比较对象的内容。 这两个方法之间的关系是如果两个对象通过 equals(Object obj) 方法比较是相等的那么调用这两个对象中任一对象的 hashCode() 方法必须产生相同的整数结果。这是Java集合框架正常工作的基本要求。 2、为什么要在自定义类中同时重写 hashCode() 和 equals(Object obj) 方法 如果只重写 equals(Object obj) 方法而不重写 hashCode() 方法那么在基于哈希的集合中即使两个对象通过 equals(Object obj) 方法比较是相等的但由于它们的哈希码不同这些集合也可能无法正确地处理它们如无法正确去重。 因此为了保证自定义对象在Java集合框架中的正确性当重写 equals(Object obj) 方法时通常也需要重写 hashCode() 方法以确保 equals(Object obj) 相等的对象具有相同的哈希码。 3、请解释为什么hashCode()方法可能产生哈希碰撞以及这是否会影响equals(Object obj)方法的正确性 哈希碰撞是指不同的对象产生相同的哈希码。由于哈希码是一个整数而整数的范围是有限的而对象的数量可以是无限的因此哈希碰撞是不可避免的。 哈希碰撞本身不会影响 equals(Object obj) 方法的正确性。equals(Object obj) 方法用于比较对象的内容是否相等而哈希码只是用于在集合中快速定位对象的一种机制。即使两个对象产生了哈希碰撞只要它们的 equals(Object obj) 方法比较不相等它们就不会被视为集合中的相同元素。 然而哈希碰撞可能会影响基于哈希的集合的性能因为它可能增加在集合中查找元素的时间复杂度。 4、在重写 hashCode() 方法时有哪些注意事项 在重写hashCode()方法时应该确保在同一个Java应用程序执行期间只要对象的equals比较中所用的信息没有被修改那么对该对象多次调用hashCode方法必须始终如一地返回同一个整数。 如果两个对象通过 equals(Object obj) 方法比较是相等的那么这两个对象的 hashCode() 方法必须产生相同的整数结果。 不要求如果两个对象通过 equals(Object obj) 方法比较是不相等的那么调用这两个对象中任一对象的 hashCode() 方法必须产生不同的整数结果。但是为不相等的对象产生不同整数结果可能会提高哈希表的性能。 三、抽象类和接口有什么区别 抽象类和接口都不能够实例化但是可以定义抽象和接口类型的引用。一个类如果继承了某个抽象类或者实现某个接口都需要对其中的抽象方法进行实现否则该类仍然需要被声明为抽象类。 接口比抽象类更加抽象因为抽象类中可以定义构造器可以有抽象方法和具体方法而接口中不能定义构造器而且其中的方法全部是抽象方法。 四、抽象类是什么它和接口有啥区别 接口用于规范抽象类用于共性。声明方法的存在而不去实现它的类叫做抽象类。接口时抽象类的变体。在接口中所有的方法都是抽象的。 五、讲讲类的实例化顺序比如父类静态数据构造函数字段子类静态数据构造函数字段当new的时候他们的执行顺序 在Java中当使用new关键字创建一个类的实例时会遵循一个特定的顺序来初始化对象。这个顺序涉及到父类和子类的静态数据、构造函数以及字段成员变量的初始化。下面是这个顺序的详细解释 1、静态块和静态变量父类到子类 首先会初始化父类中定义的静态变量和静态初始化块如果有的话按照它们在代码中出现的顺序进行。然后会初始化子类中定义的静态变量和静态初始化块如果有的话也是按照它们在代码中出现的顺序进行。需要注意的是静态初始化只会在类被加载到JVM时发生一次与创建类的实例数量无关。 2、实例变量父类到子类 在创建类的实例时会首先为父类中的实例变量分配内存并默认初始化例如数值类型变量初始化为0对象引用初始化为null。然后会执行父类的非静态初始化块如果有的话。接着会执行父类的构造函数此时父类的实例变量可以被显式初始化。同样的过程会发生在子类上但会在父类初始化之后进行。子类中的实例变量会被分配内存并默认初始化然后执行子类的非静态初始化块如果有的话最后执行子类的构造函数。 3、构造函数父类到子类 在创建对象时构造函数的调用是遵循从父类到子类的顺序的。这意味着在子类的构造函数中可以通过super()显式或隐式调用父类的构造函数并且这个调用必须是子类构造函数中的第一条语句除了注释和变量声明。如果子类没有显式调用父类的构造函数则会自动调用父类的无参构造函数如果父类没有定义无参构造函数且子类没有显式调用其他构造函数则会导致编译错误。 综上所述当使用new关键字创建类的实例时执行顺序大致如下 1、父类静态变量和静态初始化块按出现顺序。 2、子类静态变量和静态初始化块按出现顺序。 3、父类实例变量默认初始化。 4、父类非静态初始化块如果有的话。 5、父类构造函数。 6、子类实例变量默认初始化。 7、子类非静态初始化块如果有的话。 8、子类构造函数。 这个顺序确保了父类在子类之前被完全初始化从而保证了继承体系中的正确性和稳定性。 六、Java 创建对象有几种方式 new 创建新对象通过反射机制创建对象采用 clone 创建对象通过序列化机制
http://www.w-s-a.com/news/762958/

相关文章:

  • 甘肃做网站哪家好网站开发 都包含什么语言
  • 合肥哪里有做网站的广告型网站怎么做的
  • 用dede做的网站国外免费空间哪个好
  • dede个人网站模板企点
  • 韩雪个人网站wordpress 怎么添加网站备案信息
  • 个人网站可以做地方技能培训班
  • 品牌营销策略研究无锡 网站 seo 优化
  • 在线推广网站的方法有哪些织梦网站首页目录在哪
  • 做爰全过程免费网站的视频做网站的几个步骤
  • cpa建站教程青海西宁制作网站企业
  • 简易的在线数据库网站模板网站多服务器建设
  • 成都seo网站建设花店网页模板html
  • 义乌市网站制作网络营销策略名词解释
  • 高端品牌网站建设图片wordpress 资源站主题
  • 上海建设工程监督总站网站电商网站wordpress
  • 网站建设 医院菏泽网站建设熊掌号
  • 成都网站建设企业预约网免费建站流程
  • 网站建设胶州中国政务网站建设绩效评估
  • 合肥知名网站推广胶东国际机场建设有限公司网站
  • asp.ney旅游信息网站下载 简洁濮阳微信网站开发
  • 建设网站专业怎么上传网站程序到空间
  • 县城乡建设局网站微商城小程序哪个好
  • 博物馆门户网站建设优势重庆seo排名系统运营
  • 哪有app制作公司上海seo排名
  • 长沙建站seo公司北京招聘信息
  • 建设网站情况说明范文四川个人证书查询网官网
  • 推广学校网站怎么做公司可以做多个网站吗
  • 游戏网站后台建设郑州定制网站
  • 商务公司网站建设网站建设如何自学
  • 现在建网站可以拖拉式的吗中国国内最新新闻