类具有封装性、继承性和多态性。
封装性:类的封装性为类的成员提供公有、缺省、保护和私有等访问权限,目的是隐藏类中的私有变量和类中方法的实现细节。
public class Person {
// 私有变量
private String name;
private int age;
// 公有方法(getter 和 setter)
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) {
this.age = age;
} else {
System.out.println("年龄必须大于0");
}
}
// 私有方法
private void displayInfo() {
System.out.println("Name: " + name + ", Age: " + age);
}
// 公有方法调用私有方法
public void showInfo() {
displayInfo();
}
}
public class Main {
public static void main(String[] args) {
Person person = new Person();
person.setName("张三");
person.setAge(25);
person.showInfo(); // 输出: Name: 张三, Age: 25
}
}
继承性:允许通过继承原有类的某些特性或全部特性而产生全新的类,原有的累称为父类,产生的新类称为子类。子类不仅可以直接继承父类的共性,而且也可以创建它特有的个性。
public class Animal {
protected String name;
public Animal(String name) {
this.name = name;
}
public void makeSound() {
System.out.println(name + " 发出声音");
}
}
public class Dog extends Animal {
public Dog(String name) {
super(name);
}
@Override
public void makeSound() {
System.out.println(name + " 汪汪叫");
}
public void fetch() {
System.out.println(name + " 去捡球");
}
}
public class Main {
public static void main(String[] args) {
Animal animal = new Animal("动物");
animal.makeSound(); // 输出: 动物 发出声音
Dog dog = new Dog("狗狗");
dog.makeSound(); // 输出: 狗狗 汪汪叫
dog.fetch(); // 输出: 狗狗 去捡球
}
}
多态性:是指在基类中定义的属性和方法被子类继承之后,可以具有不同的数据类型或表现出不同行为,多态性有两种表现形式:重载和覆盖。
public class Vehicle {
public void drive() {
System.out.println("车辆行驶");
}
}
public class Car extends Vehicle {
@Override
public void drive() {
System.out.println("汽车行驶");
}
}
public class Bike extends Vehicle {
@Override
public void drive() {
System.out.println("自行车行驶");
}
}
public class Main {
public static void main(String[] args) {
Vehicle vehicle = new Vehicle();
vehicle.drive(); // 输出: 车辆行驶
Vehicle car = new Car();
car.drive(); // 输出: 汽车行驶
Vehicle bike = new Bike();
bike.drive(); // 输出: 自行车行驶
}
}