Java的四大基本特性
Java的四个基本特性:抽象、封装、继承、多态
抽象
指将一类对象的共同特征总结出来构造类的过程,主要包括数据抽象和行为抽象两个方面,分别对应于类的属性和方法,抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。
封装
封装就是将类的某些属性隐藏起来,然后通过接口对外开放,但是在外部不能直接进行查找属性。
封装有以下几个优点:
- 便于使用者正确、方便的使用系统,防止使用者错误修改系统属性
- 有助于建立各个系统间的松耦合关系
- 提高了软件的可重用性
- 降低了大型系统的风险,即使整个系统不成功,个别独立的子系统可能还有价值
继承
子类继承父类的非private属性和方法
子类除了拥有从父类继承过来的属性和方法外,子类还可以有自己的属性和方法
java中只支持单一继承,也就是一个子类只能有一个父类,但是一个父类可以有多个子类
继承的作用
提高吗的重用性。一个源文件中可以包含多个类,但是只能有一个类带public,而且带public访问修饰符的类的类名要和源文件的文件名相同,main方法也要写在带public的类中。
当创建子类对象时,一定会先执行父类的构造方法创建父类对象,然后在调用子类的构造方法创建子类的对象。而且在创建子类的对象时无论是调用有参数还是无参数的构造方法,JVM都会默认代用父类的五参数的构造方法创建父类的对象。
多态
多态就是指同一事物在不同情况下的多种表现形式
多态的表现形式有:方法重写、方法重载、接口和接口的继承、类和类的继承
多态的实现机制
Java多态的实现机制是父类或者接口定义的引用变量可以指向子类或者实现类的实例对象,而程序调用方法在运行期才动态绑定,这就是引用变量锁指向的具体实现对象的方法,也就是内存里正在运行的那个对象的方法,而不是引用变量的类型中定义的方法。
方法的重载
在同一个类中,有多个方法名相同,单参数列表不同的方法,这就是方法的重载,参数列表的不同包括:参数个数、类型、顺序的不同,普通方法和构造方法都可重载,方法重载会根据传递的参数来决定调用哪个方法,返回值不同,其他都相同的情况下是构不成方法的重载的
方法的重写
发生在子类继承父类的关系中,父类的方法被子类继承,方法名、返回值类型、参数完全一样,但是方法体不一样,那么说明父类中的该方法被子类重写了。
目的:当父类中的方法无法满足子类的需求时,那么子类可以对父类的方法进行扩展
方法重写子类的访问修饰符范围不能缩小
