浅谈Java面向对象

末蓝、 2023-07-22 03:46 79阅读 0赞

Java的面向对象这里对于初学者来说无疑是一大挑战,从基本的概念到实际操作,上手都不是很容易,在看了很多官方概念资料之后,自己对面向对象更是糊涂。那么这篇文章就有助于你理解什么是面向对象。

目录

    • 一、面向对象思想
    • 二、类与对象的关系
    • 三、类
      • 成员变量
      • 成员方法

一、面向对象思想

从基本的概念来看:
面向对象(Object Oriented)是一种新兴的程序设计方法,或者是一种新的程序设计规范(paradigm),其基本思想是使用对象、类、继承、封装、多态等基本概念来进行程序设计。从现实世界中客观存在的事物(即对象)出发来构造软件系统,并且在系统构造中尽可能运用人类的自然思维方式。

我想一般的初学者基本上很难理解概念。换句话说面向对象就是一种程序设计方法。
在这里插入图片描述
这是一张面向对象的思维导图。学习面向对象先要了解什么是类,什么是对象,图中也有解释。

面向对象的三个基本特征:封装、继承、多态

  • 封装:是将一类事物的属性和行为抽象成一个类,一般是使其属性私有化,行为公开化,提高了数据的隐秘性的同时,使代码模块化。
  • 继承:基于已有的类的定义为基础,构建新的类,已有的类称为父类,新构建的类称为子类,子类能调用父类的非private修饰的成员,同时还可以自己添加一些新的成员,扩充父类,甚至重写父类已有的方法,更其表现符合子类的特征。
  • 多态:对象的多态性是指在父类中定义的属性或方法被子类继承之后,可以具有不同的数据类型或表现出不同的行为。这使得同一个属性或方法在父类及其各个子类中具有不同的语义。

注意:Java语言是单继承的,即只能有一个父类,但Java可以实现多个接 口,可以防止多继承所引起的冲突问题。

二、类与对象的关系

对象:是该类事物的具体体现

类:是一组相关的属性和行为的集合。
举例:

  • 类 学生
  • 对象 班长就是一个对象

类与对象的关系如图
在这里插入图片描述
图纸就相当于类即造汽车的模型,汽车就是对象即类的实例。
java中用class描述事物

  • 成员变量就是事物的属性
  • 成员方法就是事物的行为

定义类其实就是定义类的成员(成员变量和成员方法)

三、类

Java语言中一个类的实现包括:类声明和类体。
类声明语法格式如下:

  1. [public][abstract|final] class className [extends superclassName] [implements interfaceNameList] {
  2. //类体
  3. }

class是声明类的关键字
className是自定义的类名
class前面的修饰符public、abstract、final 用来声明类,它们可以省略
superclassName为父类名,若省略则该类继承Object类(Object类所有类的根类)
interfaceNameList是该类实现的接口列表,接口列表中的多个接口之间用逗号分隔。

声明动物(Animal)类代码如下:

  1. public class Animal extends Object { //extends Object可以省略
  2. //类体
  3. }

类体是类的主体,包括数据和操作,即成员变量和成员方法。

成员变量

声明类体中成员变量语法格式如下:

  1. class className {
  2. [public | protected | private ] [static] [final] type variableName; //成员变量
  3. }

type是成员变量数据类型
variableName是成员变量名
type前的关键字都是成员变量修饰符,它 们说明如下:

  • public、protected和private修饰符用于封装成员变量。
  • static修饰符用于声明静态变量,所以静态变量也称为“类变量”。
  • final修饰符用于声明变量,该变量不能被修改。

下面看一个声明成员变量示例:

  1. public class Animal extends Object {
  2. //动物年龄
  3. int age = 1;
  4. //动物性别
  5. public boolean sex = false;
  6. //动物体重
  7. private double weight = 0.0;
  8. }

成员方法

声明类体中成员方法语法格式如下:

  1. class className {
  2. [public | protected | private ] [static] [final | abstract] [native] [synchronized] type methodName([paramList]) [throws exceptionList] { //方法体
  3. }
  4. }

type是方法返回值数据类型,methodName是方法名。type前的关键字都是方法修饰符,它们说明 如下:

  • public、protected和private修饰符用于封装方法。
  • static修饰符用于声明静态方法,所以静态方法也称为“类方法”。
  • final | abstract不能同时修饰方法,final修饰的方法不能在子类中被覆盖;abstract用来修饰抽象方 法,抽象方法必须在子类中被实现。
  • native修饰的方法,称为“本地方法”,本地方法调用平台本地代码(如:C或C++编写的代 码),不能实现跨平台。
  • synchronized修饰的方法是同步的,当多线程方式同步方法时,只能串行地执行,保证是线程安 全的。

方法声明中还有([paramList])部分,它是方法的参数列表。throws exceptionList是声明抛出异常列表。


以上内容仅供参考学习,如有侵权请联系我删除!
如果这篇文章对您有帮助,左下角的大拇指就是对博主最大的鼓励。
您的鼓励就是博主最大的动力!

发表评论

表情:
评论列表 (有 0 条评论,79人围观)

还没有评论,来说两句吧...

相关阅读

    相关 面向对象的理解

    什么是面向对象 ? 对比面向过程,是两种不同的问题的角度 面向过程更注重事情的每一个步骤及顺序,面向对象更注重事情有哪些参与者(对象)、及各自需要做什么 例如:用洗

    相关 面向对象

    浅谈面向对象 概要:面向对象,顾名思义,面向对象模式中的主体被称为对象(object)。每个对象都是类(class)的实例(instance)。 什么是面向对象

    相关 Java面向对象

    Java的面向对象这里对于初学者来说无疑是一大挑战,从基本的概念到实际操作,上手都不是很容易,在看了很多官方概念资料之后,自己对面向对象更是糊涂。那么这篇文章就有助于你理解什么

    相关 面向对象面向过程思想

    说到面向对象,我们总是和面向过程比较。 这里我们简要说明面向过程: > 就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可

    相关 面向对象

    程序能够解决问题的复杂性直接取决于抽象的类型和质量。 对象具有状态、行为和标识。这意味着每一个对象都可以拥有内部数据(它们给出了该对象的状态)和方法(它们产生的行为),并

    相关 面向对象方法学

    目录 一、面向对象的基本概念 对象、类、实例、消息、方法 二、面向对象的基本特征 封装、继承、多态 三、面向对象的建模 对象模型、动态模型、功能模型 四、面向对象