Java面向对象的三大特性是:封装、继承和多态。
封装(Encapsulation):
封装是指将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象的状态信息,而是通过该类提供的方法进行操作。封装的主要目的是增加安全性和简化编程,用户只需要知道对象提供哪些方法,而不需要了解内部细节。在Java中,封装通常使用访问修饰符(public、protected、private)来实现。
例如,一个名为Person的类可以包含属性(如name、age)和方法(如eat、sleep)。我们可以将这些属性和方法封装在一个对象中,使得外部程序不能直接访问Person对象的属性或方法,只能通过Person类提供的方法进行操作。这样,我们可以保护Person对象的状态信息不被外部程序修改,同时也可以简化编程,因为用户只需要知道Person类提供哪些方法,而不需要了解内部细节。
继承(Inheritance):
继承是从已有的类派生出新的类,新的类能够继承现有类的各种属性和行为,并且可以增加新的能力。继承可以使代码重用,也使类与类之间形成一种层次关系。在Java中,继承使用“extends”关键字实现。
例如,我们可以从Person类派生出一个名为Student的类。Student类继承了Person类的属性和方法,同时还可以增加新的能力,如学号和成绩等。通过继承,我们可以重用Person类的代码,避免重复编写相同的代码,同时也使Student类和Person类之间形成了一种层次关系。
·多态(Polymorphism):
多态是指一个接口或者类可以具有多种形式。在Java中,父类引用指向子类对象,调用的方法是子类的方法。这是Java实现多态的一种方式。多态的存在大大提高了程序的扩展性和复用性。在Java中,多态可以通过接口实现。
例如,我们可以定义一个名为Animal的接口,它包含一个名为speak的方法。我们可以创建一个Dog类和一个Cat类,它们都实现了Animal接口并重写了speak方法。当我们使用Animal引用指向Dog对象时,调用speak方法会输出“汪汪汪”;当我们使用Animal引用指向Cat对象时,调用speak方法会输出“喵喵喵”。这就是多态的表现形式之一。通过多态,我们可以使用同一个接口引用不同的对象,并调用它们实现的方法,使得程序更加灵活和扩展性更强。
总之,封装、继承和多态是Java面向对象编程的核心特性,它们共同作用使得Java成为一种强大而灵活的编程语言。通过封装我们可以保护对象的状态信息不被外部程序修改;通过继承我们可以重用代码并使类与类之间形成层次关系;通过多态我们可以使用同一个接口引用不同的对象并调用它们实现的方法。