北大青鸟Java培训:常见软件开发面试问答?
接口的含义是标准化的和可扩展的。回调抽象类的含义,为其子类提供一个通用类型,将重复的内容封装在子类中,定义抽象方法。虽然子类有不同的实现,但是定义是一致的。内部类可以使用多个实例,每个实例都有自己的状态信息,并且独立于其他外围对象。
在一个外围类中,多个内部类可以用不同的方式实现同一个接口,或者继承同一个类。
创建内部类对象的时间不取决于外部类对象的创建。
内部类没有令人困惑的“是-是”关系,它是一个独立的实体。
内部类提供了更好的封装。除了外设类,没有其他类可以访问父类的静态方法是否可以被子类覆盖。静态方法属于类,而继承和重写是相对于对象的。
如果子类中的父类有静态方法,只能说它隐藏了父类的静态方法。通用高级语言如果要在不同的平台上运行,需要编译成不同的目标代码。引入java虚拟机后,java代码在不同平台上运行时不需要重新编译。在什么情况下,对象将被垃圾收集机制处理掉。java垃圾收集机制最基本的实践是分代收集。记忆中的区域分为不同的世代,年轻的,年老的和永久的。当一个对象存活足够长的时间,它将被复制到老一代。不同的垃圾收集算法可以用于不同的代。
世代划分的起点是研究对象在应用中的生存时间后得到的统计规律。
一般来说,一个应用程序中大多数对象的存活时间都很短。
例如,局部变量的存活时间仅在方法执行期间。
基于此,针对年轻一代的垃圾收集算法可以很有针对性。
= =和equals = =的区别是运算符,equals是方法,这个方法是对象中的方法。我们可以重写equals方法来实现我们自己的比较逻辑。为什么说对象的equals方法是真的,那么他们的hashcode方法返回的int值应该是一样的?根据equals()方法,如果两个对象相等,调用任一对象的hashCode方法都必须产生相同的整数结果。
如果两个对象根据equals()方法不相等,调用辽宁计算机训练/发现这两个对象中的任何一个的hashCode方法都不一定产生相同的整数结果。