1. Basic knowledge (recommended: java video tutorial)
1. In the Java language, the extends keyword is used to implement class inheritance.
The format is as follows:
[public] class SubClass extends SuperClass{ //类体的定义 }
2. The inherited class is called the parent class or super class or base class, and the inherited class is called a subclass or derived class.
3. Subclasses inherit the status (properties) and behaviors (methods) of the parent class, and can also have their own characteristics.
2. Notes on inheritance
1. Subclasses inherit non-private member variables and member methods of the parent class. At the same time, please note that the construction method cannot be inherited by the subclass.
2. If the extends keyword is omitted by default when defining a class, the defined class is a direct subclass of the java.lang.Object class.
In the Java language, all classes are direct or indirect subclasses of the Object class.
3. Java only supports single inheritance, that is, a class has at most one direct parent class. Multiple inheritance is implemented through interfaces in Java.
4. Private member variables and methods defined in the parent class cannot be inherited by the subclass, so they cannot be used directly in the subclass. We can define public access methods and modification methods in the parent class, and subclasses can access and modify them through these methods.
3. Example
Person class
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 class
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 class
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(emp.computeSalary(10,50.0)); } }
Running result:
For more java knowledge, please pay attention to the java basic tutorial column.
The above is the detailed content of How to inherit a class in java. For more information, please follow other related articles on the PHP Chinese website!