Java-继承
时间:2020-02-23 14:36:39 来源:igfitidea点击:
在本教程中,我们将学习Java编程语言中的继承。
继承是面向对象编程(OOP)的核心概念之一。
它允许我们创建层次结构。
Java继承就像现实世界的继承一样,子代继承了父代的属性,然后子代在继承的东西之上添加了一些额外的项。
Super类(超类)和Sub类(子类)
在使用继承的Java中,我们创建具有共同特征的父类或者超类,然后创建继承父类特征的子类或者子类。
例如,我们可以有一个Person类,该类具有成员变量和方法,这些变量和方法对于任何人来说都是非常通用的,例如名,姓等。
然后我们可以拥有另一个类Employee,它可以具有更具体的成员变量和方法,例如employeeid,payscale,joiningDate等。
因此," Employee"类可以继承" Person"类的常规变量和方法,然后添加自己的变量和方法以具有更具体的类。
用编程术语来说," Person"类将被称为超类或者父类。
继承了" Person"类的" Employee"类将称为子类或者子类。
extends关键字
为了在Java中创建继承,我们使用extends关键字。
语法:
class Parent {
//some code...
}
class Child extends Parent {
//some code...
}
其中,"父"是超类或者父类的名称,而"子"是子类或者子类的名称。
并使用extends关键字,Child类继承了Parent类的属性。
继承了什么?
子或者子类从父类或者超类继承以下内容。
父类的" public"成员变量。
父类的"protected"成员变量。
父类的" public"方法。
父类的"protected"方法。
子类不继承父类的"私有"成员变量和方法。
如何访问继承的变量和方法?
我们使用.运算符来访问继承的变量和方法。
例
在下面的示例中,我们有父类或者父类" Person",而子类或者子类" Employee"继承了父类。
//the parent class
class Person {
//general member variables
String firstname;
String lastname;
}
//the child class inheriting the parent class
class Employee extends Person {
//specific member variables
String employeeid;
int payscale;
String joiningDate;
//constructor
Employee(String firstname, String lastname, String employeeid, int payscale, String joiningDate) {
this.firstname = firstname;
this.lastname = lastname;
this.employeeid = employeeid;
this.payscale = payscale;
this.joiningDate = joiningDate;
}
//show employee details
public void showDetail() {
System.out.println("Employee details:");
System.out.println("EmployeeID: " + this.employeeid);
System.out.println("First name: " + this.firstname);
System.out.println("Last name: " + this.lastname);
System.out.println("Pay scale: " + this.payscale);
System.out.println("Joining Date: " + this.joiningDate);
}
}
//the main class
public class Example {
//the main method
public static void main(String[] args) {
//employee data
String firstname = "";
String lastname = "";
String employeeid = "E01";
int payscale = 3;
String joiningDate = "2010-01-01";
//creating an object of the Employee class
Employee empObj = new Employee(firstname, lastname, employeeid, payscale, joiningDate);
//show detail
empObj.showDetail();
}
}
$javac Example.java $java Example Employee details: EmployeeID: E01 First name: Last name: Pay scale: 3 Joining Date: 2010-01-01
因此,当" Employee"类继承" Person"类时,它将转换为以下内容。
class Employee {
//inherited variables from parent class
String firstname;
String lastname;
//variables of the Employee class
String employeeid;
int payscale;
String joiningDate;
//constructor
Employee(params_list) {
//some code...
}
//method of the Employee class
public void showDetail() {
//some code...
}
}

