标签 Java编程 下的文章

hashCode 与 equals?重写 hashCode 和 equals 方法是为了维护对象相等性的一致性。当我们重写 equals 方法时,我们改变了对象相等的定义,通常是根据对象的内容来判断它们是否相等,而不仅仅是比较内存地址。但是,如果我们只重写 equals 方法而不重写 hashCode 方法,就会违反 hashCode 的契约条件。

- 阅读剩余部分 -

静态变量和实例变量的区别?静态方法、实例方法呢?静态变量和实例变量的区别?静态变量(也称为类变量)是使用static修饰符修饰的变量。它属于类,而不属于类的任何特定实例对象。在内存中,静态变量只有一个副本,无论创建多少个类的实例对象,它们共享同一个静态变量。

- 阅读剩余部分 -

成员变量与局部变量的区别有哪些?从语法形式上看:成员变量属于类,局部变量是在方法中定义的变量或方法的参数;成员变量可以使用public、private、static等修饰符进行修饰,而局部变量不能使用访问控制修饰符和static修饰符;然而,成员变量和局部变量都可以被final修饰。

- 阅读剩余部分 -

重载(overload)和重写(override)的区别?方法的重载和重写都是实现多态的方式,不同之处在于重载实现的是编译时的多态性,而重写实现的是运行时的多态性。重载(Overloading)发生在同一个类中,当存在同名的方法但具有不同的参数列表(参数类型不同、参数个数不同或者二者都不同)时,视为重载。重载与方法的返回值无关,可以存在于父类和子类之间,或者同一个类中。重载的规则包括方法名一致,参数列表中参数的顺序、类型和个数不同,还可以抛出不同的异常,具有不同的修饰符。

- 阅读剩余部分 -