在Java语言中,实现类的继承使用extends关键字

格式如下: (推荐学习:java课程)[public] class SubClass extends SuperClass{

//类体的定义

}

2、被继承的类称为父类或超类或基类,而继承得到的类称为子类或派生类。

3、子类继承父类的状态(属性)和行为(方法),同时也可以有自己的特征。

二、关于继承的注意事项

1、子类继承父类中非private的成员变量和成员方法,同时,注意构造方法不能被子类继承。

2、定义类时若缺省extends关键字,则所定义的类为java.lang.Object类的直接子类。

在Java语言中,一切类都是Object类的直接或间接子类。

3、Java仅支持单重继承,即一个类至多只有一个直接父类。在Java中通过接口来实现多重继承。

4、父类中定义的private成员变量和方法不能被子类继承,因此在子类中不能直接使用。我们可以在父类中定义公共的访问方法和修改方法,子类可以通过这些方法来实现访问和修改。

三、举例说明

Person类package com.baidu.czy;

public class Person {

//属性

private String name;

private int age;

//方法

public String getName() {

return name;

}

public int getAge() {

return age;

}

public Person() {

}

public Person(String name, int age) {

this.name = name;

this.age = age;

}

public void sayHello(){

System.out.println("My name is " + name);

}

}

Employee类package com.baidu.czy;

public class Employee extends Person {

//属性

private double salary;

private String name;

//方法

public Employee(){

}

public Employee(String name, int age,double salary) {

//调用父类的构造方法

super(name, age);

this.salary = salary;

}

public double computeSalary(int hours,double rate){

double salary = hours * rate;

return this.salary + salary;

}

@Override

public void sayHello(){

//调用父类中被覆盖的方法

super.sayHello();

System.out.println("Hello,I am " + getName());

System.out.println("I am " + getAge());

System.out.println("My salary is " + salary);

}

}

EmployeeTest类package com.baidu.czy.test;

import com.baidu.czy.Employee;

public class EmployeeTest {

public static void main(String[] args) {

Employee emp = new Employee("刘明",30,5000);

System.out.println("姓名= " + emp.getName());

System.out.println("年龄= " + emp.getAge());

//调用从父类继承的方法

emp.sayHello();

//调用子类中定义的方法

System.out.println(empputeSalary(10,50.0));

}

}

运行结果

更多推荐

java里如何继承一个类_java如何继承类