【初始类和对象】(实例讲解!超级详细!)

【初始类和对象】

  • 前言
  • 1. 面向对象的初步认知
    • 1.1什么是面向对象
    • 1.2 面向对象与面向过程
  • 2. 类的定义和使用
    • 2.1 简单认识类
    • 2.2 类的定义格式
  • 3. 知识的代码举例讲解
    • 3.1 创建类、实例化类
    • 3.2 构造方法初始化类、this
  • 3. 总结

前言

由于类和对象是我们在学习过程中需要接受的概念性新知识,所以我会先带大家简单理解一下类和对象的基本概念,然后直接通过代码举例来深入学习,最后总结知识。以此达到更好的学习效果!
在这里插入图片描述
正文开始!!!

1. 面向对象的初步认知

1.1什么是面向对象

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

1.2 面向对象与面向过程

下面通过洗衣服的例子向大家解释面向对象和面向过程两个概念。
在这里插入图片描述

传统的洗衣过程(面向过程)传统的方式:注重的是洗衣服的过程,少了一个环节可能都不行。而且不同衣服洗的方式,时间长度,拧干方式都不同,处理起来就比较麻烦。如果将来要洗鞋子,那就是另一种放方式。按照该种方式来写代码,将来扩展或者维护起来会比较麻烦。
现代化的洗衣(面向对象)以面向对象方式来进行处理,就不关注洗衣服的过程,具体洗衣机是怎么来洗衣服,如何来甩干的,用户不用去关心,只需要将衣服放进洗衣机,倒入洗衣粉,启动开关即可,通过对象之间的交互来完成的。

注意:面向过程和面相对象并不是一门语言,而是解决问题的方法,没有那个好坏之分,都有其专门的应用场景。

2. 类的定义和使用

2.1 简单认识类

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

在这里插入图片描述

2.2 类的定义格式

上述我们对狗进行了描述,那么我们应该如何使用Java语言对类进行定义呢?

//创造类
class Dog(){
//字段(属性)或成员变量public String name;public int age;public String color;
//行为或成员方法public void test(){System.out.println("小狗乖乖,小狗乖乖~");}
}

class 是创造类的关键词,Dog 是类的名字,{ } 内的是类的主体
类中包含的内容称为类的成员。属性主要是用来描述类的,称之为类的成员属性或者类成员变量。方法主要说明类具有哪些功能,称为类的成员方法

3. 知识的代码举例讲解

3.1 创建类、实例化类

在这里插入图片描述
上述的完整代码如下:

public class Dog {//成员变量public String name;public int age;public String color;//普通方法public void test(){System.out.println("小狗乖乖,小狗乖乖~");}//普通方法public void printDog(){System.out.println(name+this.age+"岁了,是只"+color+"的小狗");这里使用或者不适用“this.”都可以}public static void main(String[] args) {//利用关键词new实例化一个对象Dog dog=new Dog();//访问对象中的成员变量dog.name="红包";dog.age=2;dog.color="黄色";//访问对象中的成员方法//测试dog.test();//打印对象dog.printDog();
}

在这里插入图片描述

3.2 构造方法初始化类、this

介绍构造方法
在这里插入图片描述

构造方法的重载

在这里插入图片描述

补充:this 的三种用法

在这里插入图片描述

3. 总结

在这里插入图片描述
我们回到文章开头的学习目标:

定义类的语法:
class(关键字) Dog(类名){
成员变量;
成员方法
}

创建对象:
Dog(类名) dog(对象名)=new(关键字) Dog();
//()中如何书写取决去其构造方法,若未书写构造方法,编译器会自动为该类生成一个默认的无参构造方法。使用()就行

访问成员变量和成员方法:
使用 . 来访问
dog.name;
dog.test();

this 的用法:
在这里插入图片描述

构造方法目的就是完成初始化:
public Dog(必须和类名相同){
完成初始化;
}
//若未书写构造方法,这个默认构造方法不包含任何代码,只是简单地调用父类的无参构造方法。因此,即使一个类没有声明构造方法,程序也可以正确执行。
此时,引用类型被初始化为NULL,基本类型被初始化为0

🆗!这篇文章到此结束!!!希望对大家有所帮助!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3032409.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

使用 Valgrind 检测内存泄漏

Valgrind 是一个编程工具,用于内存调试、内存泄漏检测以及性能分析。Valgrind 工具集中的 Memcheck 是用于检测内存管理和线程错误的主要工具。 参考:https://blog.csdn.net/weixin_44046545/article/details/138417524 1、安装 Valgrind sudo apt-ge…

牛客网Java实战项目--仿牛客网社区的学习笔记

仿牛客网社区的学习笔记 1. 项目环境搭建1.1 开发社区首页 2.开发社区登录模块2.1 发送邮件2.2 开发注册功能2.3 会话管理2.4 生成验证码2.5 开发登录、退出功能2.6 显示登录信息 4 Redis实现点赞关注4.1 Spring整合Redis访问Redis的方法: 4.2 Redis实现点赞4.2.1 点…

【Web】CTFSHOW 月饼杯 题解(全)

目录 web1_此夜圆 web2_故人心 web3_莫负婵娟 web1_此夜圆 拿到源码&#xff0c;一眼字符串逃逸 本地测一测&#xff0c;成功弹出计算器 <?phpclass a {public $uname;public $password;public function __wakeup(){system(calc);} }function filter($string){retur…

使用 sudo apt upgrade 出现的提示

┌────────────────────────────────────────────────┤ Pending kernel upgrade ├────────────────────────────────────────────────┐ │ …

活字格中如何调用第三方应用程序

在活字格有一种方法可以让我们的程序去执行其他程序&#xff0c;比如.bat或.exe文件。这就是所谓的"服务端调用外部程序"。 操作步骤如下&#xff1a; 1. 找到对象管理器中的服务端命令&#xff0c;右键点击它&#xff0c;选择"创建服务端命令"&#xff…

Codeforces Round 944 (Div. 4)

Codeforces Round 944 (Div. 4) Codeforces Round 944 (Div. 4) A. My First Sorting Problem 思路&#xff1a;久违的比大小 AC code&#xff1a; void solve() {int x, y; cin>> x >> y;cout << min(x, y) << " " << max(x, y…

2024年最新趋势跨境电商平台开发需了解的新技术

随着数字化技术的不断演进和全球市场的日益融合&#xff0c;跨境电商平台开发将面临前所未有的挑战和机遇。为了更好地适应并引领这一发展&#xff0c;开发者需要密切关注2024年最新的技术趋势&#xff0c;以确保他们的平台能够在竞争激烈的市场中脱颖而出。本文将对跨境电商平…

【静态分析】软件分析课程实验A3-死代码检测

官网&#xff1a; 作业 3&#xff1a;死代码检测 | Tai-e 参考&#xff1a; https://www.cnblogs.com/gonghr/p/17981720 --------------------------------------------------------------------- 1 作业导览 为 Java 实现一个死代码&#xff08;dead code&#xff09;检…

Jenkins流水线部署Maven项目

使用Jenkins的流水线功能&#xff0c;构建部署Java Maven项目&#xff0c;步骤很简单但是不少细节需要注意。 一、安装 Jenkins的安装步骤和流程就不具体描述&#xff0c;这里主要介绍一下安装时要注意的几个问题。 1、Jenkins尽量安装最新的几个版本&#xff0c;否则安装完成…

6个超TM好用的神仙App推荐!

1. AI文本视频生成工具——Jurilu Jurilu 是一款功能强大的 AI 文本视频生成器&#xff0c;允许用户快速将文本内容转换成极具吸引力的视频。它的使用非常简单&#xff1a;只需要输入文字&#xff0c;选择想要的样式和模板&#xff0c;Jurilu 就会自动将文字转换成生动的视频。…

【C语言】/*操作符(下)*/

目录 一、操作符的分类 二、二进制和进制转换 2.1 进制 2.2 进制之间的转换 三、原码、反码、补码 四、单目操作符 五、逗号表达式 六、下标引用操作符[] 七、函数调用操作符() 八、结构体成员访问操作符 8.1 直接访问操作符(.) 8.2 间接访问操作符(->) 九、操作符…

干货教程【AI篇】| 目前全球最强AI换脸工具swapface详细图文教程及整合包下载

需要这个工具整合包的小伙伴可以关注一下文章底部公众号&#xff0c;回复关键词【swapface】即可获取。 从我们的链接下载&#xff0c;得到这个exe文件 双击运行即可进入安装界面 如下图所示已经在安装中啦 安装好之后我们根据上面的安装路径找到要执行的文件 双击红框中的…

Doris【部署 01】Linux部署MPP数据库Doris稳定版(下载+安装+连接+测试)

本次安装测试的为稳定版2.0.8官方文档 https://doris.apache.org/zh-CN/docs/2.0/get-starting/quick-start 这个简短的指南将告诉你如何下载 Doris 最新稳定版本&#xff0c;在单节点上安装并运行它&#xff0c;包括创建数据库、数据表、导入数据及查询等。 Linux部署稳定版Do…

Excel-VBA报错01-解决方法

【已删除的部件:部件/xl/vbaProject.bin。(Visual Basic for Applications(VBA))】 1.问题复现&#xff1a; Win10 &#xff1b;64位 &#xff1b;Office Excel 2016 打开带有宏的Excel文件&#xff0c;报错&#xff1a;【已删除的部件&#xff1a;部件/xl/vbaProject.bin。…

MFC DLL注入失败一些错误总结

使用cheat Engine为MFC窗口程序注入DLL时一定要注意&#xff0c;被注入的exe程序和注入的DLL 的绝对路径中一定不要带有中文字符&#xff0c;否则会遇到各种各样的奇怪错误&#xff0c;如下所示&#xff1a; 以下是dll绝对路径中均含有中文字符&#xff0c;会报错误&#xff…

一种简单的小报表本地缓存方案

适应如下场景&#xff1a;关联表多&#xff0c;接口响应慢&#xff0c;报表数据不多&#xff0c;可能就十多行。参数也固定&#xff0c;实时性要求不高&#xff0c;隔那么半小时刷新一次&#xff0c;查询性能要求高&#xff0c;给领导看的&#xff0c;要求很快。 使用示例&…

【桌面应用开发】Rust+Tauri框架项目打包操作

1.项目npm install下载项目依赖&#xff08;需要配置好node.js环境&#xff09; 可参考&#xff1a;https://blog.csdn.net/m0_64346565/article/details/138319651 2.自定义图标&#xff08;项目初始化开始第一次需要配置生成&#xff0c;后面可跳过这一步骤&#xff09; Ta…

ITIL4视角下的IT监控与故障管理:守护服务健康的双刃剑

引言&#xff1a;监控的曙光 在IT服务管理的浩瀚星图中&#xff0c;"监控"这一璀璨星辰终于得到了应有的重视与聚焦。ITIL4的出台&#xff0c;不仅明确将监控告警纳入事件管理的广阔宇宙&#xff0c;而且强调了其在预防故障、保障服务连续性中的核心地位。当组织拥抱…

k8s设置在任意node里执行kubectl 命令

一、问题 正常来讲kubectl 只能在master node 里运行 当我们尝试在某个 node 节点来执行时&#xff0c; 通常会遇到下面错误 执行错误&#xff1a;The connection to the server localhost:8080 was refused - did you specify the 原因&#xff1a;因为k8s的各个组建&#xf…

Oracle 多表查询

关联查询 一、sql:1992语法的连接笛卡尔积等值连接非等值连接自连接外连接 二、sql:1999语法的连接交叉连接自然连接USING创建连接ON创建连接左外连接右外连接FULL OUTER JOININNER JOIN 三、子查询子查询的种类单行子查询多行子查询 在From字句中使用子查询练习 四、行转列 一…