面向对象三大特性
TIP
Java 是面向对象的编程语言,其核心是封装、继承和多态三大特性。
封装
将数据和操作数据的方法绑定在一起,对外隐藏内部实现细节。
java
public class Student {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
if (age > 0 && age < 150) {
this.age = age;
}
}
}继承
子类继承父类的属性和方法,实现代码复用。
java
public class Animal {
protected String name;
public void eat() {
System.out.println(name + " 正在吃");
}
}
public class Dog extends Animal {
public void bark() {
System.out.println(name + " 汪汪叫");
}
}
// 使用
Dog dog = new Dog();
dog.name = "旺财";
dog.eat(); // 旺财 正在吃
dog.bark(); // 旺财 汪汪叫多态
同一方法在不同对象上有不同表现,基于继承和方法重写。
java
public interface Shape {
double area();
}
public class Circle implements Shape {
private double radius;
public Circle(double r) { this.radius = r; }
@Override
public double area() {
return Math.PI * radius * radius;
}
}
public class Rectangle implements Shape {
private double w, h;
public Rectangle(double w, double h) { this.w = w; this.h = h; }
@Override
public double area() {
return w * h;
}
}
// 多态调用
Shape s1 = new Circle(5);
Shape s2 = new Rectangle(3, 4);
System.out.println(s1.area()); // 78.54
System.out.println(s2.area()); // 12.0TIP
多态的三个必要条件:继承、方法重写、父类引用指向子类对象。