java如何覆写父类的抽象方法calsalary(),将salary赋值为4000
时间: 2024-03-25 22:38:33 浏览: 68
在Java中,如果一个类继承了一个抽象类,那么它必须实现抽象类中所有的抽象方法。如果一个类没有实现抽象类中的抽象方法,那么它必须声明为抽象类。
假设我们有一个抽象类Employee,其中有一个抽象方法calsalary(),我们想要覆写这个方法并将salary赋值为4000,可以按照以下步骤进行:
1. 创建一个类,继承Employee类
2. 在这个类中实现calsalary()方法,并将salary赋值为4000
下面是示例代码:
```java
abstract class Employee {
public abstract void calsalary();
}
class Programmer extends Employee {
public void calsalary() {
double salary = 4000;
System.out.println("Programmer's salary is: " + salary);
}
}
```
在上面的代码中,Programmer类继承了Employee类,并实现了calsalary()方法。在这个方法中,我们将salary赋值为4000,并将其打印出来。
相关问题
java声明一个名为person的抽象类,声明共有抽象方法void calsalary(),employee类继承自person类,定义带三个参数的构造方法 String name,int age,String occupation,覆写父类的printinfo(),覆写父类的抽象方法calsalary(),将salary赋值为5000,Worker类继承自person类,内容同employee一样,分别实例化employee类与worker类的对象,并调用各自构造方法初始化属性
好的,以下是 Java 代码实现:
```java
// 声明抽象类 Person
abstract class Person {
// 声明共有抽象方法 void calsalary()
public abstract void calsalary();
}
// Employee 类继承自 Person 类
class Employee extends Person {
String name;
int age;
String occupation;
int salary;
// 带三个参数的构造方法
public Employee(String name, int age, String occupation) {
this.name = name;
this.age = age;
this.occupation = occupation;
}
// 覆写父类的 printinfo() 方法
public void printinfo() {
System.out.println("Name: " + name);
System.out.println("Age: " + age);
System.out.println("Occupation: " + occupation);
System.out.println("Salary: " + salary);
}
// 覆写父类的抽象方法 calsalary()
public void calsalary() {
salary = 5000;
}
}
// Worker 类同样继承自 Person 类
class Worker extends Person {
String name;
int age;
String occupation;
int salary;
// 带三个参数的构造方法
public Worker(String name, int age, String occupation) {
this.name = name;
this.age = age;
this.occupation = occupation;
}
// 覆写父类的 printinfo() 方法
public void printinfo() {
System.out.println("Name: " + name);
System.out.println("Age: " + age);
System.out.println("Occupation: " + occupation);
System.out.println("Salary: " + salary);
}
// 覆写父类的抽象方法 calsalary()
public void calsalary() {
salary = 5000;
}
}
// 实例化 Employee 类与 Worker 类的对象,并调用各自构造方法初始化属性
public class Main {
public static void main(String[] args) {
Employee emp = new Employee("John", 30, "Engineer");
emp.calsalary();
emp.printinfo();
System.out.println();
Worker worker = new Worker("Mary", 25, "Factory worker");
worker.calsalary();
worker.printinfo();
}
}
```
希望这个例子可以帮助你更好地理解 Java 中的抽象类和继承。
c#子类如何覆写父类抽象函数
在C#中,子类覆写父类的抽象函数主要是为了提供具体的实现。抽象函数是在基类中声明为抽象的,它没有实际的实现,而是由派生类通过override关键字来实现的。以下是步骤:
1. 首先,在父类中声明一个抽象函数。这通常需要在函数前加上`abstract`关键字,并且可能包含一个`void`返回类型、参数列表以及访问修饰符(如`public`, `protected`等)。
```csharp
public abstract class ParentClass
{
public abstract void AbstractMethod();
}
```
2. 然后,在子类中,找到想要覆写的抽象函数,使用`override`关键字并提供具体的实现。
```csharp
public class DerivedClass : ParentClass
{
public override void AbstractMethod()
{
// 子类的具体实现
Console.WriteLine("这是DerivedClass的AbstractMethod实现");
}
}
```
阅读全文