摘要: 基类的 protected 成员是包内可见的,并且对子类可见; 若子类与基类不在同一包中,那么在子类中,子类实例可以访问其从基类继承而来的protected方法,而不能访问基类实例的protected方法。 阅读全文
posted @ 2025-04-03 22:27 kuki' 阅读(10) 评论(0) 推荐(0)
摘要: super 关键字:我们可以通过 super 关键字来实现对父类成员的访问,用来引用当前对象的父类。 this 关键字:指向自己的引用,引用当前对象,即它所在的方法或构造函数所属的对象实例。 阅读全文
posted @ 2025-04-03 20:02 kuki' 阅读(13) 评论(0) 推荐(0)
摘要: 声明抽象方法会造成以下两个结果: 如果一个类包含抽象方法,那么该类必须是抽象类。 任何子类必须重写父类的抽象方法,或者声明自身为抽象类。 阅读全文
posted @ 2025-04-03 16:32 kuki' 阅读(9) 评论(0) 推荐(0)
摘要: 在 Java 中,抽象类不能直接实例化, 也就是说不能用 new 关键字创建抽象类的对象。 抽象类主要用于定义共通接口和部分实现, 具体的对象必须由其具体子类来创建, 抽象类的子类必须给出抽象类中的抽象方法的具体实现,除非该子类也是抽象类。 而这些子类必须实现抽象类中的所有抽象方法才能被实例化。 阅读全文
posted @ 2025-04-03 16:27 kuki' 阅读(40) 评论(0) 推荐(0)
摘要: Java基础(面向对象):什么是实例化? 实例化是指创建类的对象(或实例)的过程。 通过实例化,可以根据类的定义, 在内存中分配空间, 并初始化该对象的属性和方法,使其可供程序使用 阅读全文
posted @ 2025-04-03 15:50 kuki' 阅读(37) 评论(0) 推荐(0)
摘要: 抽象类不能直接实例化。 也就是说,不能使用 new 关键字来创建一个抽象类的对象。 抽象类通常用于定义一些共性行为或接口,让具体子类继承并实现其中的抽象方法,从而确保所有子类都符合该规范。 由于抽象类不能实例化对象,所以抽象类必须被继承 阅读全文
posted @ 2025-04-03 15:22 kuki' 阅读(26) 评论(0) 推荐(0)
摘要: 抽象类实现接口时,不必实现接口中所有的方法,只要这个类本身被声明为抽象类即可。 未实现的方法会保留为抽象方法,最终需要由具体子类实现才能实例化对象。 Animal.java package interfaceAndAbstract; // 定义一个接口 public interface Animal 阅读全文
posted @ 2025-04-03 15:12 kuki' 阅读(9) 评论(0) 推荐(0)
摘要: HashMap 的 key 不重复性主要是通过两步来实现的: 通过 hashCode 确定存储位置: 当你使用 put 方法添加一个 key-value 对时, HashMap 会先调用 key 的 hashCode() 方法计算出一个哈希值, 并根据这个值确定该 key 应该存放在哪个桶中。 通过 阅读全文
posted @ 2025-04-03 12:31 kuki' 阅读(115) 评论(0) 推荐(0)
摘要: 在 HashMap 中,key 是不允许重复的。 如果你使用一个已存在的 key 进行 put 操作,原来该 key 对应的 value 会被新值覆盖。 阅读全文
posted @ 2025-04-03 12:23 kuki' 阅读(28) 评论(0) 推荐(0)
摘要: 当 hashCode 重复时,也就是发生哈希碰撞,HashSet(实际上是基于 HashMap 实现的)会采取以下措施来处理: 同一桶中存储多个对象: 当多个对象计算出相同的 hashCode 后,它们会被存放到同一个桶中。 使用 equals() 方法区分: 在同一桶中,添加新元素时,会依次使用 阅读全文
posted @ 2025-04-03 12:19 kuki' 阅读(40) 评论(0) 推荐(0)
摘要: 是的,两个不同的对象在计算 hashCode 时有可能得到相同的值,这种情况称为“哈希碰撞”。 Java 的 hashCode 方法并没有保证不同对象一定返回不同的哈希码, 只保证如果两个对象通过 equals() 比较为相等,它们的 hashCode 必须相同。 因此,即使两个对象不相等,也可能产 阅读全文
posted @ 2025-04-03 11:22 kuki' 阅读(34) 评论(0) 推荐(0)
摘要: HashSet 底层是基于 HashMap 实现的。 在添加元素时,HashSet 会调用元素的 hashCode() 方法来计算其哈希值,并定位到对应的桶。 如果该桶中已经有一个或多个元素, 它会用 equals() 方法比较新元素与桶中已有元素是否相等。 如果相等,说明该元素已经存在,新的元素就 阅读全文
posted @ 2025-04-03 11:09 kuki' 阅读(33) 评论(0) 推荐(0)
摘要: Java集合 阅读全文
posted @ 2025-04-03 10:55 kuki' 阅读(16) 评论(0) 推荐(0)