gpt4 book ai didi

java - 将父类(super class)的属性传递给子类

转载 作者:行者123 更新时间:2023-12-01 15:47:22 25 4
gpt4 key购买 nike

我有员工、经理类(class)。

员工有私有(private)字符串名称、整数年龄、双倍工资。它们必须放置在一种方法中。我将它们放在字符串详细信息中

public void details(String name,int age, double salary)
{
this.name=name;
this.age=age;
this.salary=salary;
}

然后它们必须传递给类(class)经理,但需要添加一个新属性,即部门。

class Manager extends Employee{
private string department;
}

这就是我的问题,我无法将属性与属性部门一起输出。

<小时/>

更新#1

我之前尝试过使用此代码:

public void details(String name, int age, double salary, String dept) 
{
super(name, age, salary);
this.dept = dept;
}

但是它给了我一个错误,即对 super 的调用必须是构造函数中的第一个语句。

这就是我的经理扩展员工类别的方式。

class Manager extends Employee 
{
private String department;
public Manager(String name,int age,double salary,String department)
{
super(name,age,salary);
this.department=department;
}

public String getDetails()
{
return super.details;
}

public void details(String name, int age, double salary, String department)
{
super(name, age, salary);
this.department = department;
}
}
<小时/>

更新#2

属性名称、年龄和薪水必须是私有(private)的。我尝试将其更改为公开并使用 super.details(name Age Salary) 并且它有效。我尝试过相同的代码,但具有私有(private)属性,但它不起作用。

最佳答案

Private 意味着私有(private),因为没有其他类可以访问它们。您的两个选择是:在父类中创建 getter/setter 方法,或者使变量受到保护,以便“管理员”可以看到它们。我会就哪个更好给出我的意见,但你还没有告诉我们你的问题的“为什么”......

关于java - 将父类(super class)的属性传递给子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6874500/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com