Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Java基础:对象与类的定义与使用

Java基础:对象与类的定义与使用

作者头像
鲲志说
发布于 2025-04-07 04:27:49
发布于 2025-04-07 04:27:49
5500
代码可运行
举报
运行总次数:0
代码可运行

我们知道Java是完全面向对象的,所以需要熟悉OOP(面向对象程序设计)才能够编写Java程序。

一、面向对象程序设计

面向对象程序设计就是通过对象来进行程序设计,将客观世界中的一个事物作为一个对象来考虑,对象表示一个可以明确标识的实体。 比如一只小狗,他就是一个对象。每个对象都有自己的属性和行为。小狗的属性根据需要有性别、体重等,他的行为有吃饭、睡觉、玩耍等。 从程序设计的角度来看,事物的属性可以用变量来描述,行为则用方法来反映。 每个对象都有自己独特的标识、状态和行为。

1.面向对象的三大特征:封装、继承、多态

  • 封装

类是封装的基本单元。通过封装可以隐藏类的实现细节,也可以避免对类中属性的直接操作。可以通过类的公共接口访问类中的变量,而不必知道这个接口的具体实现方式。只要这个方法的名字和参数不变,即使类中的变量被重新定义,或方法的代码被修改,对类中的变量的访问也不会受到影响。比如,你在计算机上安装了一个声卡,你不必知道声卡的内部结构,也不必知道功能如何实现的,因为实现声卡功能的继承电路被封装了。你只要知道声卡应该装在电脑主板的什么位置,其他的设备如音箱,光驱怎样和声卡连接就可以了。

  • 继承

继承是对类的功能的重用和扩充。通过对某一个类的继承产生一个新的子类,子类既有从某个类中继承下来的功能,又可以自行定义自己的变量和方法,产生新的功能。

  • 多态

多态性指的是方法的名字相同,但实现不同。即“同一接口,多个方法”。如有三个方法,分别用来计算圆、矩形、三角形面积,他们的名字可以都叫做area。

2.类 类是构造对象的模板或蓝图。我们可以将类想象成制作甜饼的切割机,将对象想象为甜饼。由类构造对象的过程称为创建类的实例。

对象中的数据称为域,操纵数据的过程称为方法。对于每个特定的类实例对象都有一组特定的实例域值。

在Java中,所有类都源自于Object类

3.类之间的关系

  • 依赖 ( “uses-a” )
  • 聚合 ( “has-a” )
  • 继承 ( “is-a” )

这里简单的解释一下:

依赖: 如果一个类的方法操纵另一个类的对象,我们就说一个类依赖于另一个类.是一种最明显,最常见的关系. 我们应该尽可能少的减少类之间的依赖,(类B的改变不会导致A产生任何bug是最好的). 用软件工程的术语来说,就是让类之间的耦合度最小.

二、使用预定义类

1.对象与对象变量

要想使用对象,就必须首先构造对象,并指定其初始状态.然后对对象应用方法.

在Java程序设计语言中,使用构造器(构造器会在之后的文章介绍)构造新实例. 构造器是一种特殊的方法, 用来构造并初始化对象.

我们以Java类库中的Date类为例:

构造器的名字应该与类名相同.因此Date类的构造器名为Date.下面构造一个Date对象:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
new Date()

这个表达式构造了一个新对象. 这个对象被初始化为当前的日期和时间.

也可以将这个对象传递给一个方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
System.out.println(new Date());

想多次使用构造对象,可以将对象存放在一个变量中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Date birthday = new Date();

如图显示了引用新构造的对象变量birthday:

在对象与对象变量之间存在着一个重要区别. 例句:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Date deadline;

定义了一个对象变量deadline,它可以引用Date类型的对象.

一定要认识到:变量deadline不是一个对象,实际上也没有引用对象.

还要认识到:一个对象变量并没有实际包含一个对象,而仅仅引用一个对象.

代码举例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    deadline = new Date() ;  //  用新构造的对象初始化变量
    deadline = birthday;

现在这两个变量引用同一个对象. 如图:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-04-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Java基础:Java类与对象
面向对象程序设计(简称OOP)是当今主流的程序设计范型,它已经取代了20世纪70年代的“结构化”过程化程序设计开发技术。Java是完全面向对象的,必须熟悉OOP才能够编写Java程序。面向对象的程序是由对象组成的,每个对象包含对用户公开的特定功能部分和隐藏的实现部分。
栗筝i
2022/12/02
4630
Java基础系列(六):对象与类(上)
封装从形式上看,封装是将数据和行为组合在一个包中,并对对象的使用者隐藏了数据的实现方式。对象中的数据称为实例域,而操纵数据的过程称之为方法。对于每个特定的类实例(对象)都有一组特定的实例域值。这些值的集合就是这个对象的当前状态。而实现封装的关键就是绝对不能让类中的方法直接访问其他类的实例域,仅仅可以通过对象的方法来与对象的数据进行交互。
山禾说
2019/01/21
3260
「MoreThanJava」Day 4:面向对象基础
面向对象程序设计 (Object-Oriented Programming, OOP) 是当今主流的程序设计范型,它取代了 20 世纪 70 年代的 "结构化" 或过程式编程技术。由于 Java 是面向对象的,所以必须熟悉 OOP 才能够很好地使用 Java。
我没有三颗心脏
2020/08/11
4340
「MoreThanJava」Day 4:面向对象基础
Java Review (六、面向对象----类和对象)
在目前的软件开发领域有两种主流的开发方法:结构化开发方法和面向对象开发方法。早期的编程 语言如C、Basic、Pascal等都是结构化编程语言;随着软件开发技术的逐渐发展,人们发现面向对象可 以提供更好的可重用性、可扩展性和可维护性,于是催生了大量的面向对象的编程语言,如Java、 C#和 Ruby 等。
三分恶
2020/07/16
6660
Java核心技术 对象与类
在Java中,使用构造器构造新实例。构造器是一种特殊的方法,用来构造并初始化对象。
菜的黑人牙膏
2019/01/21
4880
Java基础(四)Java 对象和类
对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。
一觉睡到小时候
2019/07/02
4900
Java基础(四)Java 对象和类
详解Java面向对象编程
面向对象(OOP)指的是一种基于对象的编程方法论,而不仅仅是方法和函数编程。对象包含数据和方法(也叫行为)。
小诸葛
2020/11/25
4210
详解Java面向对象编程
java对象和类
现在让我们深入了解什么是对象。看看周围真实的世界,会发现身边有很多对象,车,狗,人等等。所有这些对象都有自己的状态和行为。
用户7657330
2020/08/14
5830
Java基础系列1:Java面向对象
该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架。
说故事的五公子
2019/11/02
4840
Java内功心法,深入解析面向对象
对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的一组服务组成。
李红
2019/08/17
5120
Java——Java面向对象
该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架。
说故事的五公子
2020/04/13
2.3K0
【Java SE语法篇】7.面向对象——类和对象
面向对象程序设计(object-oriented programming,OOP),是当今主流的程序设计范畴,它取代了20世纪70年代的”结构化“或过程式编程技术。
爱敲代码的小杨.
2024/05/07
1270
【Java SE语法篇】7.面向对象——类和对象
Java基础面试系列(一)
可以到.java文件通过Java编译器(javac.exe)编译成为.class文件。这个.class文件就是字节码文件,它是一种提供给JVM解释执行的文件。每一个平台的都相同,由于通过不同的Java解释器解释形成不同的机器码文件,使操作系统执行。
石的三次方
2021/01/05
3630
Java对象和类
Java作为一种面向对象语言,支持以下基本概念 多态,继承,封装,抽象,类,对象,实例,方法,重载。 本节我们重点研究对象和类的概念。 对象,对象是类的一个实力,有状态和行为,类如,一条狗是一个对象,它的状态有颜色,名字,品种;行为有:摇尾巴,叫,吃等 类,类是一个模板,它描述一类对象的行为和状态。 Java中的对象, 现在让我深入了解什么是对象,看看周围真实的世界,回发现身边有很多对象,车,狗,人等等。所有这些对象都有自己的状态和行为。 拿一条狗来举例,它的状态有名字,品种,颜色,行为有叫,摇尾巴和跑。
landv
2018/05/24
8930
Java基础篇 | 初始面向对象
不知道小伙伴发现问题没有,其实这两者方式虽然都能实现,但确是漏洞百出,接下来我们一点一点分析。
程序员Leo
2023/11/16
1970
Java基础篇 | 初始面向对象
Java基础知识面试题(2020最新版)
Java面试总结汇总,整理了包括Java基础知识,集合容器,并发编程,JVM,常用开源框架Spring,MyBatis,数据库,中间件等,包含了作为一个Java工程师在面试中需要用到或者可能用到的绝大部分知识。欢迎大家阅读,本人见识有限,写的博客难免有错误或者疏忽的地方,还望各位大佬指点,在此表示感激不尽。文章持续更新中…
Java架构师必看
2020/04/10
9910
什么是面向对象编程?OOP 深入解释
面向对象编程 (OOP) 是一种基本的编程范式,几乎每个开发人员都在其职业生涯的某个阶段使用过。OOP 是用于软件开发的最流行的编程范例,并且在大多数程序员的教育生涯中被作为标准编码方式教授。 另一种流行的编程范式是函数式编程,但我们现在不讨论它。
用户4235284
2023/10/14
1.4K0
什么是面向对象编程?OOP 深入解释
JAVA进阶2 深入理解面向对象
一、结构化程序设计与面向对象1. 概述2. 结构化程序设计简介2. 面向对象程序设计
用户7886150
2020/12/08
5010
Java知识面试题复习(三)Java面向对象
优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。
Maynor
2021/12/07
3870
Java知识面试题复习(三)Java面向对象
面向对象程序设计
【面向对象程序设计】(OOP)与【面向过程程序设计】在思维方式上存在着很大的差别。【面向过程程序设计】中,算法是第一位的,数据结构是第二位的,这就明确地表述了程序员的工作方式。首先要确定如何操作数据,然后再决定如何组织数据,以便于数据操作。而【面向对象程序设计】却调换了这个次序,【面向对象程序设计】将数据放在第一位,然后再考虑操作数据的算法。
真正的飞鱼
2023/04/13
2K1
相关推荐
Java基础:Java类与对象
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验