Java语言的四大特性:封装,抽象,继承,多态
Java是面向对象的语言,封装更是体现了这一特性,封装在Java中是以类的概念存在的,将一类实体封装成一个类,类中定义了该实体具有的属性和方法。
抽象是对一类事物的共同特性进行抽象定义,抽象在Java中是以抽象类的概念存在的,抽象类不能完全描述一个对象,因此不能用来实例化一个具体的对象。
继承是指A类具有B类的所有功能,A类可以选择继承B类,同时提供属于A类自己特有的方法和属性
多态的概念基于继承,在继承中,子类可以覆盖父类中的方法,在调用方法时可以使用父类的引用,运行时JVM会根据对象的具体类型选择是调用谁的方法。多态的基础是基于面向对象语言的晚绑定机制。
引申:
方法的重载和方法的覆盖:
重载是指在同一个类中相同的方法名,但不同的方法签名,包括参数的类型,个数和返回值,重载发生在同一个类中。
覆盖存在于继承关系的两个类中,子类实现父类中相同方法签名的方法。覆盖需要满足以下条件:
1.父类方法必须在子类中可见,不能为private
2.父类方法如果是final类型,子类无法重载
3.子类重载父类的方法不能缩小父类方法的可见性,比如父类方法的修饰符为public,子类不能更改为private
4.子类重载父类的方法返回值和异常必须和父类一致或是其子类