面向对象编程(Object-Oriented Programming,简称OOP)是一种常用的编程范式,它将数据和操作数据的方法封装在一起,形成对象。下面是一些与面向对象相关的知识点:
类和对象:类是对象的模板,描述了对象的属性和行为。对象是类的实例化,具体的实体。
封装:将数据和操作数据的方法封装在一起,隐藏内部实现细节,只暴露必要的接口。
继承:通过继承,一个类可以派生出子类,子类可以继承父类的属性和方法,并可以添加自己的特性。
多态:多态性允许一个类的对象以多种不同的方式工作。通过虚函数实现,允许在父类引用指向子类对象时,根据实际对象类型调用相应的方法。
抽象类和接口:抽象类是不能被实例化的类,它定义了一组抽象方法,子类必须实现这些方法。接口是一种特殊的抽象类,它只定义了方法的签名而没有具体实现。
封装、继承和多态是面向对象编程的三大特性,它们可以提高代码的可维护性、可扩展性和重用性。
理解
类是对现实生活中一类具有共同属性和行为的事物的抽象
类是对象的数据类型,类是具有相同属性和行为的一组对象的集合
简单理解:类就是对现实事物的一种描述
组成
属性:指事物的特征
对象
对象的使用
创建对象的格式
类名 对象名 = new 类名()
调用成员的格式
对象名.成员变量
对象名.成员方法()
行为:指事物能执行的操作
定义类的组成是由属性和行为两部分组成
属性:在类中通过成员变量来体现
行为:在类中通过成员方法体现
封装:
封装是 JAVA 面向对象的特点的表现,封装是一种信息隐蔽技术。它有两个含义:即把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位;以及尽可能隐藏对象的内部结构。
继承:
继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。继承就是子类继承父类的特征和行为,使得子类对象具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
多态:
多态是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。因为在程序运行时才确定具体的类,这样,不用修改源程序代码,就可以让引用变量绑定到各种不同的类实现上,从而导致该引用调用的具体方法随之改变,即不修改程序代码就可以改变程序运行时所绑定的具体代码,让程序可以选择多个运行状态,这就是多态性。
抽象类:
抽象类的概述
一个没有方法体的方法应该定义为抽象方法,而类中如果有抽象方法,该类必须定义为抽象类。
抽象类的特点
抽象类和抽象方法必须使用 abstract 关键字修饰
抽象类中可以有抽象方法和非抽象方法。
抽象类实例化
参照多态的方式,通过子类对象实例化,这叫抽象类多态
抽象类的子类
要么重写抽象类中的所有抽象方法
要么定义为抽象类抽象类
接口:
接口就是一种公共的规范标准,Java中的接口更多的体现在对行为的抽象!
2、接口的特点
接口用关键字interface修饰
public interface 接口名 {}
类实现接口用implements表示
public class 类名 implements 接口名 {}
接口的实例化
参照多态的方式,通过实现类对象实例化,这叫接口多态。
多态的形式:具体类多态,抽象类多态,接口多态。
接口的子类
要么重写接口中的所有抽象方法,要么子类也是抽象类
成员特点
成员变量
只能是常量 默认修饰符:public static final
构造方法
没有,因为接口主要是扩展功能的,而没有具体存在
成员方法
只能是抽象方法
默认修饰符:public abstract