Java面向对象-类与对象

本文介绍了面向对象编程的基本概念,通过实例解释了类与对象的区别,并详细阐述了对象的内存结构、赋值操作以及对象间的引用关系。同时,讨论了类的定义格式和对象的创建过程,强调了在编程中合理管理和释放对象的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

面向对象思想在Java程序设计中是非常重要的,那么面向对象到底是怎么回事呢?(如有错误还请谅解,欢迎大家斧正,这是我的第一篇文章,写博客主要是记录我自己的学习笔记,并且希望能够帮助到有需要帮助的人!若喜欢请点个免费的赞吧!)

1、面向对象的基本概念:以对象为单位,通过调度组合不同的对象来完成一个事情

2、根据上面的面向对象对象的概念,我们对面向对象的认识还是含糊不清,那么什么才
是面向对象呢?
在认识面向对象之前我们得先知道类和对象,我们都知道有句话说的是“物与类聚,人与群分”,在现实生活中我们都可以根据不同的分类规则将我们身边的事物进行分类,相同的道理,在java中我们也可以根据不同的需求将其进行分类;类就是一组具有相同特性(属性)与行为(方法)的事物集合,是共性的产物,是综合的特征(人类、洗衣机类……),而对象就共性产物的个性个体(男人、女人、全自动洗衣机、半自动洗衣机)。
在此,我们举个简单的例子来说明面向对象的概念,比如我们现在有一堆脏衣服,现在需要去洗衣服,我们就有两个洗衣服的方案:第一个就是通过手洗,将衣服放进盆里,加入水,放洗衣液……我们这样一个一个步骤的实行,其实就是我们的面向过程的思想;第二种方案就是将衣服放入洗衣机(全自动的)设定好洗衣模式,其他的就交给洗衣机来完成,到时间直接去取衣服,我们不需要管洗衣服的过程,以对象为单位统一调度来完成洗衣服这一个件事情,这就是面向对象的思想。
3、类和对象的定义格式:

类:class 类名 {
  属性1;
  属性2;
  方法
  ……
}

对象的定义:类名 对象名 = new 类名();如 Dog dog = new Dog();
匿名对象:匿名对象顾名思义就是没有名字,而且只能是使用一次,在使用完后就会该对象就会被释放,使用方法:new Dog().eat();

4、对象在内存中的结构:
Dog dog = new Dog();
在这里插入图片描述
5、对象间的赋值

 Dog dog1 = null ;
 Dog dog2 - null;
 dog1.name = “小黄”;
 dog1.age = 4;
 dog2 = dog1;
 dog2.name = “大黄”;
System.out.println(dog1.name);

此时输出的是应是“大黄”,分析如下:
在这里插入图片描述
因此最后输出的是大黄

6、类与对象总结:
(1)class关键字表示创建一个类,在该类中可以写入该类的属性和方法;
(2)new 关键字表示向内存申请空间,也表示实例化一个对象,创建一个对象;
(3)一个对象在内存中的大小由该对象的所有属性所占的内存大小总和,应用类型变量在32位系统上占4个字节,在64位系统上占8个字节,再加上额外的对象隐性数据所占的大小;
(4)不同的引用在指向同一个对象时,任何一个引用改变对象的值,其他引用也会随之改变;
(5)在编程时要注意,在确定不再使用对象时要尽早释放对象(引用 = null),目的是释放资源,节省空间;
(6)当一个在堆中的对象没有被任何引用指向时,该对象就会被JVM的GC程序当作垃圾对象回收

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值