Java类和对象(上)

简介: 大家一定有所耳闻,在Java中一切皆对象,那么今天小编就和大家介绍何为类和对象?

Hello小伙伴们,C语言的更新暂时告一段落,从今天开始,小编会给大家分享自己的Java的学习过程,快来和小编一起学习吧!

大家一定有所耳闻,在Java中一切皆对象,那么今天小编就和大家介绍何为类和对象?


1. 面向对象的初步认知


1.1 什么是面向对象

Java 是一门纯面向对象的语言 (Object Oriented Program ,简称 OOP) ,在面向对象的世界里,一切皆为对象。 面 向对象是解决问题的一种思想,主要依靠对象之间的交互完成一件事情 。用面向对象的思想来涉及程序,更符合人们对事物的认知,对于大型程序的设计、扩展以及维护都非常友好。


1.2 面向对象与面向过程

假设:

下图中男孩(boy)、女孩(girl)为类(class),而具体的每个人为该类的对象(object):

f53bd99bf16e964dfedd0b12ed6fcbd1.jpeg

下图中汽车类(class),而具体的每辆车为该汽车类的对象(object),对象包含了汽车的颜色、品牌、名称等。

8dae0c701080e387210e666a32b96b5e.png


Java中的对象

现在让我们深入了解什么是对象。看看周围真实的世界,会发现身边有很多对象,车,狗,人等等。所有这些对象都有自己的状态和行为。

拿一条狗来举例,它的状态有:名字、品种、颜色,行为有:叫、摇尾巴和跑。

对比现实对象和软件对象,它们之间十分相似。

软件对象也有状态和行为。软件对象的状态就是属性,行为通过方法体现。

在软件开发中,方法操作对象内部状态的改变,对象的相互调用也是通过方法来完成。


Java 中的类

类可以看成是创建 Java 对象的模板。

0b7b6c41b4145d655866df687ad0129d.png

通过上图创建一个简单的类来理解下 Java 中类的定义:

publicclassDog {
Stringbreed;
intsize;
Stringcolour;
intage;
voideat() {
    }
voidrun() {
    }
voidsleep(){
    }
voidname(){
    }
}

一个类可以包含以下类型变量:


局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。

成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。

类变量:类变量也声明在类中,方法体之外,但必须声明为 static 类型。


一个类可以拥有多个方法,在上面的例子中:eat()、run()、sleep() 和 name() 都是 Dog 类的方法,接下来我们学习如何定义类和使用。


2.类定义和使用


2.1 简单认识类

类是用来对一个实体 ( 对象 ) 来进行描述的 ,主要描述该实体 ( 对象 ) 具有哪些属性 ( 外观尺寸等 ) ,哪些功能 ( 用来干啥) ,描述完成后计算机就可以识别了:


比如:洗衣机,它是一个品牌,在 Java 中可以将其看成是一个类别。

属性:产品品牌,型号,产品重量,外观尺寸,颜色 ...

功能:洗衣,烘干、定时 ....


2.2 类的定义格式

那么我们该如何定义一个类呢,往下看

在Java中定义类时需要用到class关键字,具体语法如下

// 创建类classClassName{
field; // 字段(属性) 或者 成员变量method; // 行为 或者 成员方法}

class 为 定义类的关键字, ClassName 为类的名字, {} 中为类的主体。


类中包含的内容称为类的成员。属性主要是用来描述类的,称之为类的成员属性或者类成员变量。方法主要说明类具有哪些功能,称为类的成员方法:

classWashMachine{
publicStringbrand; // 品牌publicStringtype; // 型号publicdoubleweight; // 重量publicdoublelength; // 长publicdoublewidth; // 宽publicdoubleheight; // 高publicStringcolor; // 颜色publicvoidwashClothes(){ // 洗衣服System.out.println("洗衣功能");
}
publicvoiddryClothes(){ // 脱水System.out.println("脱水功能");
}
publicvoidsetTime(){ // 定时System.out.println("定时功能");
}
}
目录
相关文章
|
3月前
|
Java 编译器 API
Java 密封类:精细化控制继承关系
Java 密封类:精细化控制继承关系
286 83
|
17天前
|
安全 Java 数据建模
Java记录类:简化数据载体的新选择
Java记录类:简化数据载体的新选择
169 101
|
17天前
|
安全 Java 开发者
Java记录类:简化数据载体的新方式
Java记录类:简化数据载体的新方式
195 100
|
2月前
|
安全 IDE Java
Java记录类型(Record):简化数据载体类
Java记录类型(Record):简化数据载体类
302 120
|
4月前
|
IDE Java 数据挖掘
Java 基础类从入门到精通实操指南
这份指南专注于**Java 17+**的新特性和基础类库的现代化用法,涵盖开发环境配置、数据类型增强(如文本块)、字符串与集合处理进阶、异常改进(如密封类)、IO操作及实战案例。通过具体代码示例,如CSV数据分析工具,帮助开发者掌握高效编程技巧。同时提供性能优化建议和常用第三方库推荐,适合从入门到精通的Java学习者。资源链接:[点此下载](https://pan.quark.cn/s/14fcf913bae6)。
186 35
|
5月前
|
存储 安全 Java
【高薪程序员必看】万字长文拆解Java并发编程!(7):不可变类设计指南
🌟 ​大家好,我是摘星!​ 🌟今天为大家带来的是并发编程中Java不可变类设计指南,废话不多说让我们直接开始。
83 0
|
2月前
|
缓存 安全 Java
Java反射机制:动态操作类与对象
Java反射机制是运行时动态操作类与对象的强大工具,支持获取类信息、动态创建实例、调用方法、访问字段等。它在框架开发、依赖注入、动态代理等方面有广泛应用,但也存在性能开销和安全风险。本文详解反射核心API、实战案例及性能优化策略,助你掌握Java动态编程精髓。
|
2月前
|
存储 安全 Java
Java集合框架(一):List接口及其实现类剖析
本文深入解析Java中List集合的实现原理,涵盖ArrayList的动态数组机制、LinkedList的链表结构、Vector与Stack的线程安全性及其不推荐使用的原因,对比了不同实现的性能与适用场景,帮助开发者根据实际需求选择合适的List实现。
|
3月前
|
Java API
Java API中Math类功能全景扫描
在实际使用时,这些方法的精确度和性能得到了良好的优化。当处理复杂数学运算或高精度计算时,`Math`类通常是足够的。然而,对于非常精细或特殊的数学运算,可能需要考虑使用 `java.math`包中的 `BigDecimal`类或其他专业的数学库。
95 11

热门文章

最新文章