Java是一门面向对象的编程语言,面向对象的三大特性分别为封装、继承和多态。下面我们分别来介绍一下这三个特性。
封装是一种保护代码的方法,封装可以将代码隐藏起来,只将需要暴露的接口暴露出来。Java中的封装有两个关键字:private和protected。private是一种最强的封装方式,将类的成员变量和方法设置为private,外部无法直接访问。而protected是一种稍微放宽一些的封装方式,它可以被继承子类访问。
public class Person { private String name; protected int age; public String getName() { return this.name; } public void setName(String name) { this.name = name; } }
继承是一种代码复用的方式,它可以让子类拥有父类的属性和方法。Java中的继承使用关键字extends实现。在继承中,子类可以拥有父类的所有public和protected的方法和属性,但是private的方法和属性无法被继承。
public class Student extends Person { public void setAge(int age) { this.age = age; } }
多态是Java的一种特殊之处,它让不同的类具有相同的类似方法,但是实现不同,这可以让代码更加灵活。Java的多态是通过方法的重载和覆盖来实现的。方法的重载指的是在同一个类中,方法名称相同但是参数类型不同,这相当于Java中的多态。方法的覆盖指的是子类可以重写父类的同名同参数的方法,当然也要满足访问权限的限制。
public class Animal { public void eat() { System.out.println("Animal is eating."); } } public class Dog extends Animal { // 方法重载 public void eat(String food) { System.out.println("Dog is eating " + food + "."); } // 方法覆盖 @Override public void eat() { System.out.println("Dog is also eating."); } }
以上就是Java的三大面向对象特性:封装、继承和多态。这些特性在Java中可以让我们更加灵活地编写代码,实现不同的功能,并且这些特性也是Java程序员必学的部分。