Java面向对象编程之类的继承详解
什么是继承?
继承是一种面向对象编程的重要特性,它可以让一个类(子类)拥有另一个类(父类)的所有方法和属性。
在Java中,使用关键字extends
来实现继承。
继承的语法
public class ChildClass extends ParentClass {
// 子类的内容
}
在以上语法中,我们定义了一个名为ChildClass
的子类,它继承了ParentClass
这个父类。
可以在子类中使用父类的方法和属性,如:
public class ChildClass extends ParentClass {
public void childMethod() {
// 子类中使用父类的方法
parentMethod();
}
}
继承的特性
继承拥有以下特性:
- 子类拥有父类的所有public和protected方法和属性。
- 子类可以重写(override)父类的方法。
- 子类可以新增自己的方法和属性。
- 子类不能访问父类的private方法和属性。
在继承中,子类可以对父类的方法进行重写,即在子类中重新定义与父类同名的方法来覆盖父类的行为。具体用法如下:
public class ParentClass {
public void method() {
System.out.println("这是父类的方法");
}
}
public class ChildClass extends ParentClass {
@Override
public void method() {
// 子类重写了父类的方法
System.out.println("这是子类的方法");
}
}
继承的示例
示例一:父类和子类的构造方法
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public void introduce() {
System.out.println("我叫" + this.name + ",今年" + this.age + "岁。");
}
}
public class Student extends Person {
private String grade;
public Student(String name, int age, String grade) {
super(name, age);
this.grade = grade;
}
public void study() {
System.out.println("我在学" + this.grade + "级的课程。");
}
}
在以上示例中,Person
是父类,Student
是子类。
Person
类有一个构造方法,接收名字和年龄作为参数,并有一个introduce()
方法,用于介绍自己。
Student
类通过使用super()
关键字调用父类构造器来初始化继承的父类属性,同时新增了自己的属性grade
,并新增了自己的方法study()
,用于学习课程。
示例二:父类和子类的方法重写
public class Animal {
public void move() {
System.out.println("动物在移动");
}
}
public class Dog extends Animal {
@Override
public void move() {
System.out.println("狗在奔跑");
}
}
在以上示例中,Animal
是父类,Dog
是子类。
Animal
类有一个move()
方法,输出动物在移动的信息。
Dog
类通过使用@Override
注解重写了Animal
类的move()
方法,输出狗在奔跑的信息。
总结
继承是Java面向对象编程的一种重要特性,可以让子类拥有父类的方法和属性,并有重写和新增的能力。在实际开发中,继承用于构建类之间的层次体系,可以提高代码的复用性和可维护性。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java面向对象编程之类的继承详解 - Python技术站