JAVA的三大特性
JAVA的三大特性为:封装,继承,与多态
封装
面向对象的封装就是把描述一个对象的属性和行为的代码封装在一个类中,有些属性是不希望公开的,或者说被其他对象访问的,所以我们使用private修饰该属性,使其隐藏起来。
封装也可以作为一个保护屏障,防止类中的数据被外部类代码随机访问。
类中提供了方法(用public修饰),常用的是get、set方法,可以操作这些被隐藏的属性,其他类可以通过调用这些方法,改变隐藏属性的值。
封装是保证软件部件具有优良的模块性的基础,封装的目标就是要实现软件部件的“高内聚、低耦合”,防止程序相互依赖性而带来的变动影响。
在面向对象的编程语言中,对象是封装的最基本单位,面向对象的封装比传统语言的封装更为清晰、更为有力。
继承
在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,使用extends关键字实现继承;子类中可以加入若干新的内容,或修改原来的方法使之更适合特殊的需要,这就是继承。
继承是子类自动共享父类数据和方法的机制,这是类之间的一种关系,提高了软件的可重用性和可扩展性。
示例:
JAVA中继承是单继承的,但是可以通过implements关键字实现多重继承,这里不多阐述。
多态
多态就是在声明时使用父类,在实现或调用时使用具体的子类;即不修改程序代码就可以改变程序运行时所绑定的具体代码,让程序可以选择多个运行状态,这就是多态性,多态增强了软件的灵活性和扩展性。
这里可以举个例子,比如声明时使用的是动物类,调用时传递的是一个猫类(动物类的子类)的对象,具体执行父类里动物——哭的方法时,实际执行的是猫——哭的方法。
示例:
由这个例子可以较直观的看出多态的实现方法
多态一般分为两种:重写与重载。
重写:也叫运行时多态,指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。
重载:也叫编译时多态,方法名相同而参数列表不同的一组方法就是重载。