Java面向对象四大特性是什么?
请详细解释Java面向对象编程的四大特性:封装、继承、多态、抽象。请分别说明它们的概念、实现方式以及在实际开发中的典型应用场景。
回答
编译有声
封装:将数据和方法隐藏于类内部,通过访问修饰符(private/protected/public)控制访问权限,实现信息隐藏。典型场景:JavaBean的属性私有化并提供getter/setter。
继承:子类 extends 父类,获得父类非private的属性和方法,可扩展或重写。提高代码复用性。Java单继承,但可通过接口实现多继承。
多态:同一行为在不同对象上有不同表现。编译时多态(方法重载)和运行时多态(方法重写、向上转型)。核心三要素:继承、重写、父类引用指向子类对象。
抽象:通过abstract类或interface定义行为契约,具体实现交给子类。抽象类可以有构造方法和成员变量,接口强调行为的完全抽象(Java 8后支持default/static方法)。