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... } }