面向对象编程 (OOP) 是一种编程范式,它允许你使用对象、它们的交互以及它们的数据。面向对象编程是一种思考和构建程序的方式,允许程序员重用代码并进行更抽象的思考。
什么是面向对象编程?
作为一种编程范式,面向对象编程利用抽象来构建基于现实世界数据的模型。面向对象编程强调“对象”和“数据”,而不是“动作”和“逻辑”。
对象由三样东西组成:
状态(它存储的数据是什么)
行为(它能做什么)
身份(唯一的名称和地址)
什么是类
类是创建对象的蓝图或原型。类使你能够创建自己的自定义类型,这使你的代码更易于阅读和维护。
在使用 Java(或任何其他面向对象的语言)进行编程时,你必须先创建一个类,然后才能在程序中使用它。创建类时,你必须定义它的字段(它包含的数据)和方法(它采取的操作)。然后,你可以使用 new 关键字后跟类名及其构造函数的任何参数来实例化这种类型的对象。
Java 中的类可以包含:
字段——为类定义的变量
方法——为类定义的函数
构造函数——种特殊类型的方法,用于创建类的实例
块——用大括号 {} 括起来的代码
在 Java 中支持 OOP
Java 是一种面向对象的编程语言,已经存在了二十多年。由于 Java 是一种面向对象的语言,因此你可以使用 Java 中的类和对象。当你创建一个类时,你是在创建你自己的自定义类型,你可以用变量和函数来填充。然后,你可以将该类用作其他变量或函数参数的类型。
当你在 Java 中创建对象时,你定义了一个类来描述程序中对象的所有属性和行为。任何对象都是类的实例,应该存在以创建该类的实例。
Java中的对象是什么?
对象由数据和作用于该数据的函数组成。数据是属性或特征,而函数称为方法。一旦定义了一个对象,就可以通过它的方法修改它的状态。
一个对象包含状态信息(变量)和行为信息(方法)。换句话说,对象由状态(数据)和行为(代码)组成。从相同类创建的对象共享状态和行为信息,但每个对象也有自己的标识。
成员数据和成员函数
类的两个主要组成部分是变量和方法。变量包含数据,而方法是函数。变量是存储数据的容器,而方法是对数据执行操作的函数。例如,你可以创建一个名为 Rectangle 的类,该类将具有表示其高度和宽度的变量,以及一个计算其面积的方法。
数据成员或变量只能存储其声明类型的值; 例如,整数变量只能保存整数。方法可以访问、操作和返回变量或其他值。方法也可以重复使用; 例如,如果你有一个包含许多 Rectangle 对象的程序,则 Rectangle 类中的相同方法将用于计算每个对象的面积。
什么是 Java 中的访问修饰符
Java 编程语言包含以下访问修饰符,用于设置类、变量、方法和构造函数的访问级别:
公共——可从任何地方访问
受保护——可从同一类及其子类访问
无修饰符——只能从同一个包访问(也称为默认访问)
私有的——只能从同一个类访问
Java中的抽象类和接口
接口是没有状态或实现的特定类型的类。另一方面,抽象类可能同时包含具体方法和非具体方法。抽象类不能被实例化,但可以在必要时被继承。与接口不同,抽象类可能包含方法实现。抽象类可以同时具有抽象和具体成员。
接口可以声明方法但没有任何实现。接口指定了一个类型和对该类型的一组操作,但它没有指定任何实现细节。在创建实现接口的类时,由开发人员定义接口方法的实现。接口中没有数据成员;它只能包含动作声明。
Java中的静态类和对象
你可以将类或类的实例定义为静态的。为此,你应该在类或对象的名称之前加上 static 关键字。静态类是仅包含静态成员的类。因此,如果你有一个静态类,那么你在该类中定义的所有方法和变量或对象都必须是静态的。
如果类是静态的,则不能创建该类的实例。要访问类的成员,你可以改用类名。静态对象在应用程序的整个生命周期中都驻留在内存中。
Java 中的类和对象编程
现在你已经知道如何定义一个类,是时候学习如何使用 new 运算符创建对象了。要在 Java 中创建类的实例,你应该利用 new 运算符和类的构造函数。
new 运算符返回对已创建对象的引用,但程序员并不总是需要它。这为对象分配内存以保存其状态信息并使其可供使用。
关于 Java 类和对象的最终想法
良好的 OOP 知识有助于开发人员构建健壮、可扩展、可维护和高性能的应用程序。然而,虽然使用 OOP 有几个好处,但也有一些缺点,设计模式已经发展到解决 OOP 的缺点。
领取专属 10元无门槛券
私享最新 技术干货