JAVA回顾:封装、继承、多态
封装
封装是一种将数据和行为(方法)组合在一起的编程模式。在 Java 中,封装通过将属性声明为私有(private)并暴露公开的接口(public)来实现。
示例代码:
public class Person {
private String name;
private int age;
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
if (age < 0) {
age = 0;
}
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
在上述示例代码中,name
和 age
属性被声明为私有属性。然后使用公开的 setName
和 setAge
方法对私有字段进行设置,公开的 getName
和 getAge
方法用于获取相应的属性值。通过这样的方式,我们可以限制对属性的直接访问,从而控制方法的使用。
继承
继承是一种编程机制,在一个类中定义另一个类时复用已有的类的方法和属性,在 Java 中使用关键字 extends
实现继承。子类可以访问父类的公开方法和属性,也可以重写这些方法和属性。
示例代码:
public class Animal {
public void eat() {
System.out.println("Animal eat");
}
public void move() {
System.out.println("Animal move");
}
}
public class Bird extends Animal {
public void fly() {
System.out.println("Bird fly");
}
@Override
public void move() {
System.out.println("Bird move");
}
}
在上述示例代码中,Bird
类继承自 Animal
类,使用 extends
关键字实现。子类 Bird
可以访问父类 Animal
的公开方法 eat
和 move
。子类 Bird
还新增了一个 fly
方法。同时,子类重写了父类 move
方法,当调用 Bird
类的 move
方法时,将会输出 Bird move
。这样,子类通过基类的继承和重写,实现了对基类方法和属性的扩展和改变。
多态
多态是指同一种方法在不同的对象上有不同的行为,多态提高代码的灵活性和可扩展性。在 Java 中通过继承、接口、重载和泛型等机制实现多态。
示例代码:
public interface Shape {
void draw();
}
public class Rectangle implements Shape {
@Override
public void draw() {
System.out.println("Rectangle draw");
}
}
public class Circle implements Shape {
@Override
public void draw() {
System.out.println("Circle draw");
}
}
public class DrawShape {
public static void main(String[] args) {
Shape rectangle = new Rectangle();
Shape circle = new Circle();
rectangle.draw();
circle.draw();
}
}
在上述示例代码中,定义了一个 Shape
接口,然后通过让 Rectangle
和 Circle
类实现 Shape
接口,使得它们具有了共同的 draw()
方法。在 DrawShape
类中,分别实例化了 Rectangle
和 Circle
类,并将它们赋值给接口变量 rectangle
和 circle
。调用这两个变量的 draw()
方法时,分别输出了 Rectangle draw
和 Circle draw
。这种实现方式,通过接口和继承,实现了对 Shape
抽象类型的多态使用。
总结
封装、继承和多态是 Java 中的基本编程机制,可以用于提供代码的复用性、可扩展性和可维护性。在实际编程过程中,需要结合具体场景具体分析,进行合理的应用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JAVA回顾:封装,继承,多态 - Python技术站