为什么集合中只会保存两个 Person 对象,即 Jack 和 Rose(年龄为 20 的 Rose 覆盖了年龄为 19 的 Rose)。
时间: 2024-01-24 19:20:20 浏览: 23
这是因为集合中使用了 Person 对象的 name 属性作为键值,而 Rose 对象的 name 属性值相同,因此后加入的 Rose 对象会覆盖之前的 Rose 对象。这也说明在使用对象作为键值时,需要保证每个对象的键值都是唯一的,否则会出现覆盖的情况。如果要保存多个相同 name 属性值的 Person 对象,可以使用其他属性作为键值或者使用列表等数据结构来保存。
相关问题
设计一个名为person的类和它的两个名为student和employee的子类
好的,下面是一个简单的示例:
```
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
class Student(Person):
def __init__(self, name, age, school):
super().__init__(name, age)
self.school = school
class Employee(Person):
def __init__(self, name, age, company):
super().__init__(name, age)
self.company = company
```
上面的代码定义了一个名为`Person`的基类,以及两个子类`Student`和`Employee`。`Person`类有两个属性`name`和`age`,表示人的姓名和年龄。`Student`类和`Employee`类都继承了`Person`类,并分别添加了一个额外的属性`school`和`company`,表示学生所在的学校和员工所在的公司。
这只是一个简单的示例,实际上,`Person`类和它的子类可以有更多的属性和方法,具体实现取决于具体的需求。
java中引用和对象的区别,Person person=new Person()中的Person是对象还是引用,为什么
在Java中,对象是指在内存中分配的一块区域,用来存储数据,而引用是指指向对象的内存地址的变量。
在语句`Person person = new Person()`中,`Person`是一个类名,`new Person()`是创建一个`Person`类的实例(即对象),`person`是一个引用变量,用来指向该对象在内存中的地址。
因此,在这个语句中,`Person`是类名,`new Person()`是对象,`person`是引用变量。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)