当前位置: 首页 > news >正文

Java语言-----类与对象的秘密

目录

前言

一、类与对象的介绍

二、类的实例化

 三.类与对象的使用方法

 3.1对象的初始化

  3.2内存显示图

四.this的使用方法

总结


 😽个人主页: tq02的博客_CSDN博客-C语言,Java领域博主

 🌈理想目标:努力学习,向Java进发,拼搏一切,找到一份朝九晚五,有假期的工作,让自己的未来不会有遗憾。
 🎁欢迎各位→点赞👍 + 收藏⭐ + 评论📝+关注✨

     本章讲解内容:Java类与对象的讲解

 今日份鸡汤:不要把明天当着你的底气。

前言

               已经开始类与对象的讲解了,正式步入了Java的道路了,在讲解前,我们都知道Java是面向对象的编程语言,那么什么是对象呢?还有类是什么呢?


一、类与对象的介绍

                类的关键字是class,在Java编程里,类的作用相当于机械师手中的构造图如果没有构造图,就无法打造武器,同样如果没有类,就无法实例化。

                对象就是打造人,通过对象将类实例化。

个人结论:工匠  使用    锤子     根据     说明书    打造出武器,                                                                                   对象           编译器                  类           实例化

  1. 类可以有很多对象,而对象却只有一个类。 
  2. 类有成员变量和成员方法。
  3. 类不占空间,只有实例化时,才开辟相应空间。      

二、类的实例化

        类相当于构造图,然而构造图上肯定写了需要的零件打造的方法,所以类就有着成员变量成员方法

       然后对象才知道如何打造(开辟空间)。

 类和对象的定义和实例化的格式

// 创建类   类名
class <class_name>{
field;//成员属性
method;//成员方法
}
// 实例化对象
<class_name> <对象名> = new <class_name>();

class为定义类的关键字,ClassName为类的名字,{}中为类的主体。
类中的元素称为:成员属性。类中的函数称为:成员方法

格式已经出来了,现在我们敲一个代码出来看看:

class Person {int age;//成员属性 实例变量String name;String sex;//成员方法public void eat() {System.out.println("吃饭!");}public void sleep() {System.out.println("睡觉!");}
}public class Main{
public static void main(String[] args) {Person person = new Person();   //通过new实例化对象//产生对象 实例化对象Person person2 = new Person();Person person3 = new Person();
}

这就是创建类和对象的具体方法了。


 三.类与对象的使用方法

 3.1对象的初始化

       对象的初始化有两种方式。

       第一种:使用圆点成员运算符( .)  可以直接对指定对象实例化的成员变量进行赋值。

                 对象.属性:表示调用类之中的成员变量;
                对象.方法():表示调用类之中的成员方法。

       第二种:使用构造函数,使用函数可以对成员变量进行初始化。

                 类名(参数){ 结构体 };

代码示例图:

class Person {int age;//成员属性 实例变量String name;String sex;//构造函数Person(){ }Person(String names){name=names;}//成员方法public void eat() {System.out.println("吃饭!");}public void sleep() {System.out.println("睡觉!");}
}public class Main{
public static void main(String[] args) {Person person = new Person();   //通过new实例化对象//初始化person成员变量name,调用成员方法eat()person.name="李四"; //操作属性内容person.eat():   //调用成员方法//构造方法初始化Person person2 = new Person("张三");Person person3 = new Person();
}  

  3.2内存显示图

         类的构造图,但一旦实例化,就开辟出了内存,存放着对应的变量和方法。

代码内存显示图:

在main函数里创建了三个对象,person、person1、person2。每个对象都进行了实例化,在堆空间创建了内存。如上图,相当于每一个对象都有属于它的空间

四.this的使用方法

        this是什么?this是关键字,代表着当前对象的引用。当参数名和成员变量相同时,使用this来引用,则代表的是成员变量。

结论:从图中我们可以分析到 this不但可以引用成员变量,也可以使用构造函数。所以this便是当前对象

注:只允许在当前类使用,构造方法中使用,需要放在第一行。


总结

  1.  类相当于蓝图,由对象根据类来将其实例化。
  2. public修饰的类必须与文件名相同
  3. this相当于对象名,作用和对象名一样,可以引用成员变量、构造函数、成员函数。但引用构造函数需要放在第一行。
  4. 类不占空间,但是对象实例化之后需要开辟空间。

     在类与对象之后,还会有封装、继承、抽象、多态和接口相关的知识,在类与对象的基础上不断的延长。

相关文章:

Java语言-----类与对象的秘密

目录 前言 一、类与对象的介绍 二、类的实例化 三.类与对象的使用方法 3.1对象的初始化 3.2内存显示图 四.this的使用方法 总结 &#x1f63d;个人主页&#xff1a; tq02的博客_CSDN博客-C语言,Java领域博主 &#x1f308;理想目标&#xff1a;努力学习&#xff0c;向Java进…...

大数据处理学习笔记2.1 初识Spark

文章目录零、本节学习目标一、Spark的概述&#xff08;一&#xff09;Spark的组件1、Spark Core2、Spark SQL3、Spark Streaming4、MLlib5、Graph X6、独立调度器、Yarn、Mesos&#xff08;二&#xff09;Spark的发展史1、发展简史2、目前最新版本二、Spark的特点&#xff08;一…...

太强了,英伟达面对ChatGPT还有这一招...

大家好&#xff0c;我是 Jack。 今年可谓是 AI 元年&#xff0c;ChatGPT、AIGC、VITS 都火了一波。 我也先后发布了这几期视频&#xff1a; 这是一个大模型的时代&#xff0c;AI 能在文本、图像、音频等领域大放异彩&#xff0c;得益于大模型。而想要预训练大模型&#xff0c…...

【微服务】—— Nacos注册中心

文章目录一、Nacos 注册中心的设计原理1、数据模型2、数据⼀致性3、负载均衡4、健康检查二、Nacos 注册中心服务数据模型1、服务&#xff08;Service&#xff09;和服务实例&#xff08;Instance&#xff09;1&#xff09;定义服务2&#xff09;服务元数据3&#xff09;定义实例…...

GPT-4是个编程高手,真服了!

上周给大家发了一个GPT-4教数学的介绍&#xff0c;很多人都被震撼了&#xff0c;感觉有可能在教育行业引发革命。它在编程领域表现如何&#xff1f;先不说能否替代程序员&#xff0c;这个还有待更多的测试和反馈&#xff0c;我想先试试它能不能像教数学那样教编程。我找了个Jav…...

基于深度学习的车型识别系统(Python+清新界面+数据集)

摘要&#xff1a;基于深度学习的车型识别系统用于识别不同类型的车辆&#xff0c;应用YOLO V5算法根据不同尺寸大小区分和检测车辆&#xff0c;并统计各类型数量以辅助智能交通管理。本文详细介绍车型识别系统&#xff0c;在介绍算法原理的同时&#xff0c;给出Python的实现代码…...

【蓝桥杯C++】3月21日刷题集训ABC-附百分代码,一目了然

目录 刷题集训 A Day 1 成绩分析 Day 1 饮料换购 刷题集训 B Day 1 分巧克力 Day 1 递增三元组 Day 1 小明的衣服 刷题集训 C Day 1 数字三角形 Day 1 跳跃 Day 1 蓝太子序列 刷题集训 A Day 1 成绩分析 题目描述 小蓝给学生…...

HBase高手之路4-Shell操作

文章目录HBase高手之路3—HBase的shell操作一、hbase的shell命令汇总二、需求三、表的操作1&#xff0e;进入shell命令行2&#xff0e;创建表3&#xff0e;查看表的定义4&#xff0e;列出所有的表5&#xff0e;删除表1)禁用表2)启用表3)删除表四、数据的操作1&#xff0e;添加数…...

聊聊SQL审计功能

什么是sql审计SQL审计是指对SQL语句的执行情况进行记录和追踪&#xff0c;包括SQL语句的执行时间、执行次数、执行结果等信息。通过SQL审计&#xff0c;可以对数据库的使用情况进行监控和管理&#xff0c;包括对SQL注入、非法访问、数据泄露等安全问题的检测和防范&#xff0c;…...

Markdown常用语法(字体颜色)

一些不错的帖子 写CSDN博客时&#xff0c;调节字体大小、颜色及其他样式的常用操作方法 设置字体颜色 使用<font>标记&#xff1a; 这是红色字体&#xff1a;<font colorred>我是红色的字体</font>显示效果如下&#xff1a; 这是红色字体&#xff1a;我是…...

I2C模块理解

I2C模块理解 文章目录I2C模块理解1.配置I2C2.信号3.数据传输3.1主机发送3.2主机接收3.3从机发送3.4从机接收4.中断传输5.Aardvark1.配置I2C I2C的特征 只需要两条公共总线&#xff08;线&#xff09;即可控制I2C网络上的任何设备无需像UART通信那样事先约定数据传输速率。因此…...

手把手教你使用--常用模块--HC05蓝牙模块,无线蓝牙串口透传模块,(实例:手机蓝牙控制STM32单片机点亮LED灯)

最近在学STM32&#xff0c;基本的学完了&#xff0c;想学几个模块来巩固一下知识&#xff0c;就想到了蓝牙模块。玩啥好难过有很多博客教怎么连的&#xff0c;但自己看起来还是有点糊涂。模块的原理和知识点我就不讲解了&#xff0c;这里我主要手把手记录一下我是如何对蓝牙模块…...

MyBatis高频面试题

目录 1、Mybatis中#和$的区别 2、Mybatis的编程步骤是什么样的 3...

Redis基础篇

redis的三大特点&#xff1a; 支持多数据类型&#xff0c;支持持久化&#xff0c;单线程 多路IO复用 对键操作的命令&#xff1a; keys * 查看当前库所有key exists key 判断key是否存在 del key 删除 unlink key 非阻塞删除&#xff0c;异步删除 expire key …...

unity的C#学习——静态常量和动态常量的定义与使用

定义常量 在C#中&#xff0c;常量是一种不可改变的量&#xff0c;一旦被定义&#xff0c;其值就不能被修改。C#中有两种类型的常量&#xff0c;静态常量和动态常量。 1、静态常量的定义 静态常量是在编译时就已经确定其值的常量&#xff0c;使用const关键字定义。由于在编译…...

栈----数据结构

栈&#x1f506;栈的概念&#x1f506;栈的结构&#x1f506;栈的实现&#x1f506;括号匹配问题&#x1f506;结语&#x1f506;栈的概念 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。**进行数据插入和删除操作的一端称为栈顶&am…...

【人人都能读标准】11. 原理篇总结:一个程序的完整执行过程

本文为《人人都能读标准》—— ECMAScript篇的第11篇。我在这个仓库中系统地介绍了标准的阅读规则以及使用方式&#xff0c;并深入剖析了标准对JavaScript核心原理的描述。 我们一路走了很远很远&#xff0c;终于到了本书原理篇的最后一站。 在原理篇中&#xff0c;我们先讲了…...

sheng的学习笔记-IO多路复用,NIO,BIO,AIO

基础概念IO分为几种&#xff1a;同步阻塞的BIO&#xff0c;同步非阻塞的NIO&#xff0c;异步非阻塞AIO&#xff0c;IO多路复用&#xff0c;信号驱动IO&#xff08;不常用&#xff09;对于一个network IO&#xff0c;它会涉及到两个系统对象&#xff0c;一个是调用这个IO的proce…...

【Python入门第三十五天】Python丨文件打开

在服务器上打开文件 假设我们有以下文件&#xff0c;位于与 Python 相同的文件夹中。 demofile.txt Hello! Welcome to demofile.txt This file is for testing purposes. Good Luck!如需打开文件&#xff0c;请使用内建的 open() 函数。 open() 函数返回文件对象&#xff…...

jsoup 框架的使用指南

概述 参考&#xff1a; 官方文档jsoup的使用JSoup教程jsoup 在 GitHub 的开源代码 概念简介 jsoup 是一款基于 Java 的 HTML 解析器&#xff0c;它提供了一套非常省力的 API&#xff0c;不但能直接解析某个 URL 地址、HTML 文本内容&#xff0c;而且还能通过类似于 DOM、CS…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

《通信之道——从微积分到 5G》读书总结

第1章 绪 论 1.1 这是一本什么样的书 通信技术&#xff0c;说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号&#xff08;调制&#xff09; 把信息从信号中抽取出来&am…...

C++ 基础特性深度解析

目录 引言 一、命名空间&#xff08;namespace&#xff09; C 中的命名空间​ 与 C 语言的对比​ 二、缺省参数​ C 中的缺省参数​ 与 C 语言的对比​ 三、引用&#xff08;reference&#xff09;​ C 中的引用​ 与 C 语言的对比​ 四、inline&#xff08;内联函数…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】

1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件&#xff08;System Property Definition File&#xff09;&#xff0c;用于声明和管理 Bluetooth 模块相…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

Element Plus 表单(el-form)中关于正整数输入的校验规则

目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入&#xff08;联动&#xff09;2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2

每日一言 今天的每一份坚持&#xff0c;都是在为未来积攒底气。 案例&#xff1a;OLED显示一个A 这边观察到一个点&#xff0c;怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 &#xff1a; 如果代码里信号切换太快&#xff08;比如 SDA 刚变&#xff0c;SCL 立刻变&#…...

Java数值运算常见陷阱与规避方法

整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...