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

java之类和对象的介绍

1.面向对象和面向过程的概念:

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

面向过程:注重完成一件事情的过程,后续代码维护扩展较为麻烦。

以洗衣服为例,面向对象为传统洗衣服,过程较为繁琐

而面向对象则没有以上复杂的过程,将衣服倒入洗衣机即可。

2.对类的简单认识:

类的概念:对一个实体对象进行描述。

主要描述该实体 ( 对象 ) 具有哪些属性 ( 外观尺寸等 ) ,哪些功能。例如一个洗衣机的型号、大小、功能之类。
2.2:类的定义格式:
// 创建类
class ClassName{
field; // 字段(属性) 或者 成员变量
method; // 行为 或者 成员方法
}
class 定义类的关键字 ClassName 为类的名字 {} 中为类的主体。
2.3 类的实例化:
用类类型创建对象的过程,称为类的实例化 ,在 java 中采用 new 关键字,配合类名来实例化对象。
1. 类只是 一个 模型 一样的东西,用来对一个实体进行描述,限定了类有哪些成员 .
2. 类是一种自定义的类型 ,可以用来定义变量 .
3. 一个类可以实例化出多个对象, 实例化出的对象 占用实际的物理空间,存储类成员变量
4. 做个比方。 类实例化出对象就像现实中使用建筑设计图建造出房子,类就像是设计图 ,只设计出需要什么东
西,但是并没有实体的建筑存在,同样类也只是一个设计,实例化出的对象才能实际存储数据,占用物理空
2.4:this引用:
this 引用指向当前对象 ( 成员方法运行时调用该成员方法的对象 ),在成员方法中所有成员变量的操作,都是通过该引用去访问
注:this 引用的是调用成员方法的对象
2.5 this 引用的特性:
1. this 的类型:对应类类型引用,即哪个对象调用就是哪个对象的引用类型。
2. this 只能在 " 成员方法 " 中使用。
3. " 成员方法 " 中, this 只能引用当前对象,不能再引用其他对象。
3.0:对象的构造以及初始化:
构造方法 ( 也称为构造器 ) 是一个特殊的成员方法, 名字必须与类名相同,在创建对象时,由编译器自动调用,并且 在整个对象的生命周期内只调用一次。
特点:
1. 名字必须与类名相同
2. 没有返回值类型,设置为void也不行。
3. 创建对象时由编译器自动调用,并且在对象的生命周期内只调用一次 ( 相当于人的出生,每个人只能出生一次 )。

4. 构造方法可以重载(用户根据自己的需求提供不同参数的构造方法)

无参构造和有参构造:

public class Date {
public int year;
public int month;
public int day;
// 无参构造方法
public Date(){
this.year = 1900;
this.month = 1;
this.day = 1;// 带有三个参数的构造方法
public Date(int year, int month, int day) {
this.year = year;
this.month = month;
this.day = day;
}
public void printDate(){
System.out.println(year + "-" + month + "-" + day);
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • etcd启动和测试
  • PyTorch 基础学习(13)- 混合精度训练
  • C++ 设计模式——建造者模式
  • Redis—持久化机制
  • StarRocks 存算分离数据回收原理
  • jpg怎么转换成pdf?6个简单方法,实现jpg转换成pdf
  • 设计模式(一):单例模式
  • 数字IC/FPGA中有符号数的处理探究
  • Python|OpenCV-基于OpenCV进行图像的复制与克隆(19)
  • 第五章 设置和其他常见活动 - 创建 IRIS 凭证集
  • 【hot100篇-python刷题记录】【买卖股票的最佳时机】
  • django之自定义序列化器用法
  • 【Java学习】反射和枚举详解
  • 微服务网关
  • 基于python的自适应svm电影评价倾向性分析设计与实现
  • 〔开发系列〕一次关于小程序开发的深度总结
  • 30天自制操作系统-2
  • 4. 路由到控制器 - Laravel从零开始教程
  • Angular4 模板式表单用法以及验证
  • ComponentOne 2017 V2版本正式发布
  • go语言学习初探(一)
  • JS+CSS实现数字滚动
  • js数组之filter
  • pdf文件如何在线转换为jpg图片
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • Protobuf3语言指南
  • Spring Cloud Feign的两种使用姿势
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • 从setTimeout-setInterval看JS线程
  • 第十八天-企业应用架构模式-基本模式
  • 如何使用 JavaScript 解析 URL
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • 协程
  • 责任链模式的两种实现
  • C# - 为值类型重定义相等性
  • postgresql行列转换函数
  • ​​​​​​​​​​​​​​Γ函数
  • ​secrets --- 生成管理密码的安全随机数​
  • (02)Hive SQL编译成MapReduce任务的过程
  • (2)(2.10) LTM telemetry
  • (k8s)Kubernetes 从0到1容器编排之旅
  • (Matlab)使用竞争神经网络实现数据聚类
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • (转)EXC_BREAKPOINT僵尸错误
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .Net8 Blazor 尝鲜
  • .net使用excel的cells对象没有value方法——学习.net的Excel工作表问题
  • .NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
  • .NET学习教程二——.net基础定义+VS常用设置
  • @Autowired 和 @Resource 区别的补充说明与示例
  • @cacheable 是否缓存成功_Spring Cache缓存注解
  • @Transactional 详解
  • @Transaction注解失效的几种场景(附有示例代码)
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(白虎组)
  • [Algorithm][动态规划][子序列问题][最长递增子序列][摆动序列]详细讲解