爆肝一个月,Java 从入门到精通06 - 面向对象编程

发布时间:2026/10/18 14:13:14
爆肝一个月,Java 从入门到精通06 - 面向对象编程 Java是一种面向对象的编程语言。面向对象编程英文是Object-Oriented Programming简称OOP。那什么是面向对象编程和面向对象编程不同的是面向过程编程。面向过程编程是把模型分解成一步一步的过程。比如老板告诉你要编写一个TODO任务必须按照以下步骤一步一步来读取文件编写TODO保存文件。而面向对象编程顾名思义你得首先有个对象有了对象后就可以和对象进行互动GirlFriend gf new GirlFriend(); gf.name Alice; gf.send(flowers);因此面向对象编程是一种通过对象的方式把现实世界映射到计算机模型的一种编程方法。在本章中我们将讨论面向对象的基本概念包括类实例方法面向对象的实现方式包括继承多态Java语言本身提供的机制包括packageclasspathjar以及Java标准库提供的核心类包括字符串包装类型JavaBean枚举常用工具类面向对象基础面向对象编程是一种通过对象的方式把现实世界映射到计算机模型的一种编程方法。现实世界中我们定义了“人”这种抽象概念而具体的人则是“小明”、“小红”、“小军”等一个个具体的人。所以“人”可以定义为一个类class而具体的人则是实例instance现实世界计算机模型Java代码人类 / classclass Person { }小明实例 / mingPerson ming new Person()小红实例 / hongPerson hong new Person()小军实例 / junPerson jun new Person()同样的“书”也是一种抽象的概念所以它是类而《Java核心技术》、《Java编程思想》、《Java学习笔记》则是实例现实世界计算机模型Java代码书类 / classclass Book { }Java核心技术实例 / book1Book book1 new Book()Java编程思想实例 / book2Book book2 new Book()Java学习笔记实例 / book3Book book3 new Book()class和instance所以只要理解了class和instance的概念基本上就明白了什么是面向对象编程。class是一种对象模版它定义了如何创建实例因此class本身就是一种数据类型而instance是对象实例instance是根据class创建的实例可以创建多个instance每个instance类型相同但各自属性可能不相同定义class在Java中创建一个类例如给这个类命名为Person就是定义一个classclass Person { public String name; public int age; }一个class可以包含多个字段field字段用来描述一个类的特征。上面的Person类我们定义了两个字段一个是String类型的字段命名为name一个是int类型的字段命名为age。因此通过class把一组数据汇集到一个对象上实现了数据封装。public是用来修饰字段的它表示这个字段可以被外部访问。我们再看另一个Book类的定义class Book { public String name; public String author; public String isbn; public double price; }请指出Book类的各个字段。创建实例定义了class只是定义了对象模版而要根据对象模版创建出真正的对象实例必须用new操作符。new操作符可以创建一个实例然后我们需要定义一个引用类型的变量来指向这个实例Person ming new Person();上述代码创建了一个Person类型的实例并通过变量ming指向它。注意区分Person ming是定义Person类型的变量ming而new Person()是创建Person实例。有了指向这个实例的变量我们就可以通过这个变量来操作实例。访问实例变量可以用变量.字段例如ming.name Xiao Ming; // 对字段name赋值 ming.age 12; // 对字段age赋值 System.out.println(ming.name); // 访问字段name Person hong new Person(); hong.name Xiao Hong; hong.age 15;上述两个变量分别指向两个不同的实例它们在内存中的结构如下┌──────────────────┐ ming ──────▶│Person instance │ ├──────────────────┤ │name Xiao Ming│ │age 12 │ └──────────────────┘ ┌──────────────────┐ hong ──────▶│Person instance │ ├──────────────────┤ │name Xiao Hong│ │age 15 │ └──────────────────┘两个instance拥有class定义的name和age字段且各自都有一份独立的数据互不干扰。注意一个Java源文件可以包含多个类的定义但只能定义一个public类且public类名必须与文件名一致。如果要定义多个public类必须拆到多个Java源文件中。喜欢这个系列的同学可以关注我爆肝一个月Python 从入门到精通

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询