Java的面向对象三大特征是封装、继承和多态。
封装
封装是将对象的状态信息和行为细节包装在一起,对外部隐藏对象的实现细节,仅暴露必要的接口给外部使用。封装可以提高对象的安全性和可维护性。
下面是一个示例代码,演示了如何使用封装:
public class Person {
private String name; // 私有属性,外部无法访问
public String getName() { // 公有方法,外部可以通过该方法获取name属性的值
return name;
}
public void setName(String name) { // 公有方法,外部可以通过该方法设置name属性的值
this.name = name;
}
}
public class Test {
public static void main(String[] args) {
Person person = new Person();
person.setName("Tom");
System.out.println(person.getName()); // 输出结果为Tom
}
}
继承
继承是指一个类可以从另一个类中继承属性和方法,被继承的类称为父类或超类,继承的类称为子类或派生类。继承可以提高代码的复用性和可维护性。
下面是一个示例代码,演示了如何使用继承:
public class Animal {
public void eat() { // 父类方法
System.out.println("Animal is eating");
}
}
public class Cat extends Animal { // 子类继承父类
public void meow() { // 子类方法
System.out.println("Cat is meowing");
}
}
public class Test {
public static void main(String[] args) {
Cat cat = new Cat();
cat.eat(); // 子类可以继承父类的方法
cat.meow(); // 子类可以有自己的方法
}
}
输出结果
Animal is eating
Cat is meowing
多态
多态是指同一个方法可以在不同的对象上具有不同的实现方式,即同一个方法可以具有多种形态。多态可以提高代码的灵活性和扩展性。
下面是一个示例代码,演示了如何使用多态:
public class Animal {
public void eat() { // 父类方法
System.out.println("Animal is eating");
}
}
public class Cat extends Animal { // 子类继承父类
public void eat() { // 子类可以重写父类方法
System.out.println("Cat is eating");
}
}
public class Dog extends Animal { // 子类继承父类
public void eat() { // 子类可以重写父类方法
System.out.println("Dog is eating");
}
}
public class Test {
public static void main(String[] args) {
Animal animal1 = new Cat();
animal1.eat(); // 输出结果为Cat is eating
Animal animal2 = new Dog();
animal2.eat(); // 输出结果为Dog
```