【Java初阶上】封装 继承 多态
在Java中,封装、继承和多态是面向对象编程的三个主要特性。以下是它们的简单解释和示例代码:
封装
封装是将对象的状态(数据)和行为(方法)打包在一起,隐藏对象的内部实现细节,只提供公开的接口让其他对象与之交互。
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
继承
继承是子类继承父类的特性(包括数据和方法),并且可以添加自己的特性。
public class Employee extends Person {
private double salary;
public Employee(String name, int age, double salary) {
super(name, age);
this.salary = salary;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
}
多态
多态是同一个行为具有多个不同表现形式或形态的能力,是面向对象编程的核心特性之一。
public class Shape {
public void draw() {
System.out.println("Drawing a shape");
}
}
public class Circle extends Shape {
@Override
public void draw() {
System.out.println("Drawing a circle");
}
}
public class Rectangle extends Shape {
@Override
public void draw() {
System.out.println("Drawing a rectangle");
}
}
public class TestPolymorphism {
public static void main(String[] args) {
Shape shape1 = new Circle();
Shape shape2 = new Rectangle();
shape1.draw(); // 输出:Drawing a circle
shape2.draw(); // 输出:Drawing a rectangle
}
}
在上述例子中,Circle
和Rectangle
类继承自Shape
类,并重写了draw
方法。在main
方法中,我们创建了Circle
和Rectangle
的实例,并将它们分别赋给Shape
类型的变量,然后调用draw
方法。这就是多态的表现,同一个draw
方法调用了不同的实现,取决于实际赋值给它的对象类型。
评论已关闭