【类和对象+this引用】

文章目录

  • 面向对象与面向过程
  • 面向对象关注的是对象,用类描述这个对象
    • 如何定义类
    • 如何更改类名
  • 类的实例化
  • this引用
  • 总结


面向对象与面向过程

面向对象就是解决问题的一种思想,主要依靠对象之间的交互完成一件事情。

面向过程好比传统的洗衣服方式
注重的是洗衣服的过程,少了一个环节可能都不行。
面向过程就是要关注洗的方式,时间长度,拧干方式等一系列详细步骤,所以处理起来就比较麻烦
在这里插入图片描述

面向对象好比现代洗衣服方式:
只有四个对象:人,衣服,洗衣粉,洗衣机
人不需要关注洗衣机具体是怎么洗衣服的,是如何甩干的。
在这里插入图片描述

java主要研究面向对象

面向对象关注的是对象,用类描述这个对象

如何定义类

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

// 创建类
class ClassName{
public String name; // 字段(属性) 或者 成员变量 定义在类当中,方法外部的变量// 行为 或者 成员方法public void sleep(){}
}

类中具体成员变量分为两种

class Person{//普通成员变量public String name;//普通成员方法public void sleep(){}//静态成员变量public static int count;//静态成员方法public static void Sum(){}
}

注意事项:

  1. 类名注意采用大驼峰定义

  2. 成员前写法统一为public(访问限定修饰符)

  3. 此处写的方法不带 static 关键字**

  4. 一般一个文件当中只定义一个类

  5. main方法所在的类一般要使用public修饰

  6. public修饰的类必须要和文件名相同

  7. 不要轻易去修改public修饰的类的名称,因为一个java文件有多个类就改不了

如何更改类名

在这里插入图片描述

类的实例化

class PetDog{public String name;public String eat;public void eat(){System.out.println(name+"吃剩饭");}
}
public class Test {public static void main(String[] args) {//实例化 =》实例化出来就是一个真正的实体//通过new关键字可以实例化多个对象PetDog petDog =new PetDog();petDog.name="花花";petDog.eat();PetDog petDog2 =new PetDog();petDog2.name="耀耀";petDog2.eat();}
}

在这里插入图片描述

注意事项

  1. new 关键字用于创建一个对象的实例。
  2. 使用 . 来访问对象中的属性和方法。
  3. 同一个类可以创建多个实例。

this引用

什么是this引用

this引用指向当前对象,在成员方法中所有成员变量的操作,都是通过该 引用去访问。

重要性:定义成员方法时,务必加上this.

public class Date {//成员变量public int year;public int moth;public int day;//成员方法public void setDay(int y,int m,int d){//this的作用是当调用很多方法时,变量不知道给谁赋值,用this.修饰变量,就表明谁调用这个方法this就给谁赋值this.year=y;this.moth=m;this.day=d;}//打印方法public void print(){System.out.println("year:"+year+" "+"moth"+" "+moth+" "+"day:"+day);}public static void main(String[] args) {//实例化对象Date date=new Date();date.setDay(2023,10,22);date.print();Date date1=new Date();date.setDay(2003,06,05);date.print();}
}

this引用的特性

  1. this的类型:对应类类型引用,即哪个对象调用就是哪个对象的引用类型
  2. this只能在"成员方法"中使用
  3. 在"成员方法"中,this只能引用当前对象,不能再引用其他对象
  4. this是“成员方法”第一个隐藏的参数,编译器会自动传递,在成员方法执行时,编译器会负责将调用成员方法对象的引用传递给该成员方法,this负责来接收

总结

类和对象+this引用便是今天学习的内容,这几天复习的知识多,怕是要忘了,恨不得一天48个小时,加上学校的事情好多,明早抽到了我上台讲ppt,下午古代文学史抽背,放学普通话考试,明天又是高度紧张的一天,鸭梨大啊鸭梨大。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

17 Transformer 的解码器(Decoders)——我要生成一个又一个单词

Transformer 编码器 编码器在干吗:词向量、图片向量,总而言之,编码器就是让计算机能够更合理地(不确定性的)认识人类世界客观存在的一些东西 Transformer 解码器 解码器会接收编码器生成的词向量,然后通…

STM32,我想看单片机上的外设时钟,我怎么看?

一:在工程中加入rcc文件 首先需要加载我们的时钟函数的文件 stm32f10x_rcc.h 和 stm32f10x_rcc.c 文件 二:查看文件 在h头文件 尾部,有我们这个总线的函数 在函数体内,有我们这个宏定义的 外设时钟,我们拿就行了 APB2_…

App分发的策略和注意事项

当今的数字化时代中,移动应用程序已经成为了人们生活中不可或缺的一部分。随着智能手机的普及和移动互联网的快速发展,应用程序的分发方式也变得越来越多样化。 App分发是指将移动应用程序通过特定的渠道传递给终端用户的过程。在应用程序开发完成后&am…

解决matlab报错“输入参数的数目不足”

报错语句:tanh((peakNums-parameter)/2) 报错提示:输入参数的数目不足 运行环境:matlab2021b 分析原因: 当执行peakNums - parameter时,如果peakNums和parameter都是向量,那么这并不一定意味着会得到对应…

2.卷积神经网络(CNN)

一句话引入: 如果我们要做图像识别,用的是一个200x200的图片,那么BP神经网络的输入层就需要40000个神经元,因为是全连接,所以整个BP神经网络的参数量就是160亿个,显然不能这样来训练网络,所以我…

HBuilder插件推荐

整理一下我觉得好用的插件,后期可能会有更改 eslint-js eslint-plugin-vue Prettier scss/sass编译 右键复制vue页面路径,主要用于快速复制vue页面的路径到浏览器

订单30分钟自动关闭的五种解决方案

1 前言 在开发中,往往会遇到一些关于延时任务的需求。例如 生成订单30分钟未支付,则自动取消生成订单60秒后,给用户发短信 对上述的任务,我们给一个专业的名字来形容,那就是延时任务 。那么这里就会产生一个问题,这…

基于Java的汽车维修预约管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding) 代码参考数据库参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&am…

Java学习_day03_变量数据类型运算符

文章目录 变量定义声明赋值使用简化 数据类型基本数据类型整型浮点型布尔型字符型空型 引用数据类型数据类型转换自动类型转换强制类型转换 运算符算术运算符赋值运算符比较运算符逻辑运算符位运算符条件运算符一元运算符二元运算符三元运算符运算符优先级 变量 变量类似于数学…

云服务器搭建Hadoop分布式

文章目录 1.服务器配置2.Java环境3. 安装Hadoop4. 集群配置5. 编写集群的启动脚本 1.服务器配置 服务器主机名配置115.157.197.82s110核115.157.197.84s210核115.157.197.109s310核115.157.197.31s410核115.157.197.60gracal10核 所有的软件安装在/opt/module下,软…

光学知识整理-偏振光

偏振光 目录基础概念基础概念的补充平面偏振光(线偏振光)部分偏振光圆偏振光椭圆偏振光菲涅耳公式相位关系 反射折射所引起的偏振态的改变斯托克斯倒逆关系重要参数 目录 基础概念 光是横波:光是电磁波,其电场分量(电场强度)E、磁场分量(磁…

biquad滤波器的设计

1.介绍 Biquad滤波器是一种常用的数字滤波器结构,它使用二阶差分方程(difference equation)来实现滤波功能。它得名于其包含两个极点(poles)和一个零点(zero)。 双二阶滤波器(biquad)是最常用…

当我让文心一言写个代码来庆祝1024程序员节,它写的代码是……

先让它写个自我介绍吧~ 大家好,我是一个人工智能语言模型,我的中文名是文心一言,英文名是ERNIE Bot。我可以协助您完成范围广泛的任务并提供有关各种主题的信息,比如回答问题,提供定义和解释及建议。如果您有任何问题…

改进YOLOv5 | 头部解耦 | 将YOLOX解耦头添加到YOLOv5 | 涨点杀器

改进YOLOv5 | 头部解耦 | 将YOLOX解耦头添加到YOLOv5 论文地址:https://arxiv.org/abs/2107.08430 文章目录 改进YOLOv5 | 头部解耦 | 将YOLOX解耦头添加到YOLOv51. 解耦头原理2. 解耦头对收敛速度的影响3. 解耦头对精度的影响4. 代码改进方式第一步第二步第三步第四步第五步本…

Kotlin笔记(六):泛型的高级特性

前面学习了Kotlin中的泛型的基本用法,跟Java中的泛型大致相同,Kotlin在泛型方面还提供了不少特有的功能,掌握了这些功能,你将可以更好玩转Kotlin,同时还能实现一些不可思议的语法特性,那么我们自然不能错过这部分内容了…

Wordpress - Xydown独立下载页面插件

Wordpress - Xydown独立下载页面插件; 1.使用ftp将demo.php和download.php上传到网站根目录(两个文件中设计网站信息的代码可根据实际情况修改为自己的信息) 使用ftp将demo.php和download.php上传到网站根目录(两个文件中设计…

[ Windows ] ping IP + Port 测试 ip 和 端口是否通畅

开发过程中经常会黑窗口中手动测试一下计划请求的目标ip和端口是否通畅,测试方式如下: 一、单纯测试ip是否能够 ping 通,这个比较熟悉了,运行 cmd 打开黑窗口 输入如下指令,能够如下提示信息,表示端口是通…

【AIGC核心技术剖析】用于高效 3D 内容创建生成(从单视图图像生成高质量的纹理网格)

3D 内容创建的最新进展主要利用通过分数蒸馏抽样 (SDS) 生成的基于优化的 3D 生成。尽管已经显示出有希望的结果,但这些方法通常存在每个样本优化缓慢的问题,限制了它们的实际应用。在本文中,我们提出了DreamGaussian&…

Node.js、Vue的安装与使用(Linux OS)

Vue的安装与使用(Linux OS) Node.js的安装Vue的安装Vue的使用 操作系统:Ubuntu 20.04 LTS Node.js的安装 安装Node.js Node.js官方下载地址 1.选择合适的系统架构(可通过uname -m查看)版本安装 2.下载文件为tar.xz格…