【Java】面向对象编程 面向对象基础 野性酷女 2024-03-17 17:49 66阅读 0赞 ### 一、面向对象基础 ### 面向对象编程,是一种通过对象的方式,把现实世界映射到计算机模型的一种编程方法。 现实世界中,我们定义了“人”这种抽象概念,而具体的人则是“小明”、“小红”、“小军”等一个个具体的人。所以,“人”可以定义为一个类(class),而具体的人则是实例(instance): <table> <thead> <tr> <th>现实世界</th> <th>计算机模型</th> <th>Java代码</th> </tr> </thead> <tbody> <tr> <td>人</td> <td>类 / class</td> <td>class Person { }</td> </tr> <tr> <td>小明</td> <td>实例 / ming</td> <td>Person ming = new Person()</td> </tr> <tr> <td>小红</td> <td>实例 / hong</td> <td>Person hong = new Person()</td> </tr> <tr> <td>小军</td> <td>实例 / jun</td> <td>Person jun = new Person()</td> </tr> </tbody> </table> 同样的,“书”也是一种抽象的概念,所以它是类,而《Java核心技术》、《Java编程思想》、《Java学习笔记》则是实例: <table> <thead> <tr> <th>现实世界</th> <th>计算机模型</th> <th>Java代码</th> </tr> </thead> <tbody> <tr> <td>书</td> <td>类 / class</td> <td>class Person { }</td> </tr> <tr> <td>Java核心技术</td> <td>实例 / book1</td> <td>Book book1 = new Book()</td> </tr> <tr> <td>Java编程思想</td> <td>实例 / book2</td> <td>Book book2= new Book()</td> </tr> <tr> <td>Java学习笔记</td> <td>实例 / book3</td> <td>Book book3 = new Book()</td> </tr> </tbody> </table> ### 二、class和instance ### 所以,只要理解了class和instance的概念,基本上就明白了什么是面向对象编程。 class是一种对象模版,它定义了如何创建实例,因此,class本身就是一种数据类型: 而instance是对象实例,instance是根据class创建的实例,可以创建多个instance,每个instance类型相同,但各自属性可能不相同: ### 三、定义class ### 在Java中,创建一个类,例如,给这个类命名为Person,就是定义一个class: class 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; 上述两个变量分别指向两个不同的实例,它们在内存中的结构如下: ![在这里插入图片描述][155c315fdaf946fc8b1b8dca14c109b5.png] 两个instance拥有class定义的name和age字段,且各自都有一份独立的数据,互不干扰。 **一个Java源文件可以包含多个类的定义,但只能定义一个public类,且public类名必须与文件名一致。如果要定义多个public类,必须拆到多个Java源文件中。** [155c315fdaf946fc8b1b8dca14c109b5.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/15/d55be64283de46f994f95c18f0f2dc5d.png
相关 Java面向对象编程基础问题 当然,我很愿意帮助解答你关于Java面向对象编程的基础问题。请具体描述你的疑问。例如,你可以问:“什么是封装?”或者“构造函数的作用是什么?”等等。 以你之姓@/ 2024年09月11日 16:27/ 0 赞/ 26 阅读
相关 Java面向对象编程基础:类,对象 在Java面向对象编程中,"类"和"对象"是两个基本的概念。 1. 类(Class): 类是对象的模板或者蓝图。它定义了一组属性(数据成员)以及一组行为(方法)。当你创建一个 青旅半醒/ 2024年09月10日 05:21/ 0 赞/ 22 阅读
相关 Java面向对象编程---基础篇 教程推荐:[java零基础入门到精通][java] 面向对象介绍 ⚫ 并不是一个技术,而是一种编程指导思想。 ⚫ 把现实世界的具体事物全部看成一个一个的对象来解决实际问题 分手后的思念是犯贱/ 2024年04月01日 14:45/ 0 赞/ 26 阅读
相关 【Java】面向对象编程 面向对象基础 一、面向对象基础 面向对象编程,是一种通过对象的方式,把现实世界映射到计算机模型的一种编程方法。 现实世界中,我们定义了“人”这种抽象概念,而具体的人则是“小明”、“小 野性酷女/ 2024年03月17日 17:49/ 0 赞/ 67 阅读
相关 java面向对象编程基础 java面向对象编程基础 前言:什么是java 是咖啡飘香的清晨 ![\-][-]\- 是斯坦福校园意浓情深 ![\-][- 1]\- 是James的思 Dear 丶/ 2022年11月11日 13:10/ 0 赞/ 211 阅读
相关 Java面向对象编程 面向对象编程 面向过程:当需要一个功能时,每一个步骤都需要自己处理 //打印数组[10,504,542,12,54] public class OOP £神魔★判官ぃ/ 2022年08月29日 04:27/ 0 赞/ 269 阅读
相关 java编程-面向对象 面向对象是指,我们考虑问题时,把任何东西看做是对象,以对象为单位,考虑它的属性及方法。 计算机要描述的是现实世界。光有基本数据类型,是不能满足我们的需要的。在这个大千世界里, 短命女/ 2022年08月23日 13:59/ 0 赞/ 242 阅读
相关 面向对象编程基础 类和对象 – 简单的说, 类是对象的蓝图和模版,而对象是类的实例。 定义类: class student(object): __init 一时失言乱红尘/ 2021年10月29日 06:56/ 0 赞/ 410 阅读
还没有评论,来说两句吧...