Java类与对象方面的理解(新手必备!)

Java类与对象

Java是一门面向对象的语言,面对对象到底是什么意思?
有没有刚入门的小伙伴写代码是把所有所有的代码全部挤在main方法块里面而检查逻辑起来及其头疼呢?
那你一定要看完这篇文章!

打一个比方,就我们日常每天都要吃饭,假设我们每一餐都是自己做饭。做饭有很多个步骤,需要洗菜、切菜、热锅、倒油等等,那么每一个步骤我们可以看做是一个方法,那么我们每一天就需要重复调用这些方法调用三遍,每一年需要做一千多次这样重复的步骤…如果我们雇佣了一个保姆,那么这些步骤都可以交给保姆去做了吧,一个保姆可以帮我们做完所有的步骤。这就类似于我们从面向过程转化到面向对象编程的思想。

什么是类与对象?

Java中我们的class是类,类就相当于图纸,我们根据图纸去描绘并具体化一个对象。

比如创建一个名称为“人”的类,我们可以给”人“这个类给予属性/特征,比如有年龄性别等,人还可以有吃饭睡觉方法/功能, 然后根据这个”人“类,我们可以创建这个类下不同的对象,比如张三、李四…
“人”这个类本身是比较抽象的,我们通过创建对象来具体化,类似于女娲造人

假设现在有一个Person类时,我们可以通过
Person person_name(自己取的对象名) = new Person();
新建一个具体的对象,让这个“人”变“活”

代码写法

类的代码写法:
class 类名{
成员属性;
成员方法;
}
如下图,创建一个Person类,里面String类型的name表示Person的一个属性是名字(当然还可以继续添加多种多样的属性),一个方法是say,意思是如果我们创建一个Person对象实例a,那么这个a实例天生就有一个名字和一个说话的功能。
在这里插入图片描述

需要注意的点
1)类必须写在 .java文件中
2)一个.java文件中可以存在N个类,但是只能存在一个用public修饰的类
3).java文件的文件名必须与public修饰的类名完全一致

构造方法/构造器
在创造一个对象实例之前,我们还需要知道一些准备工作,那就是——类中的构造器(constructor)
作用: 用于对象的初始化
执行时机: 在创建对象时自动调用
特点: 所有的java类中都会至少存在一个构造方法(如果自己没有写的话,编译器会自动生成一个没有参数的构造方法default constructor);如果自己写了一个构造器,则编译器不会再自动生成无参数的构造器
可以写多个构造方法(构造方法的重载)
定义格式: 方法名称必须与类名称相同,没有返回值类型的声明

设计好我们的构造器以后,我们就可以着手去创建对象实例了(以刚刚的Person为例)
在这里插入图片描述
我们现在有两个构造器,一个是无参数的构造器,一个构造器则是需要String name的输入,并将输入的字符串赋值给我们创建的这个实例的name属性(这里出现了this关键字,简单地说,this.是表明正在调用的当前对象)

这时我们就可以利用这两个构造器去创建对象了
在这里插入图片描述
这两行代码我们就创建了两个对象。
person1的创建利用了无参数的构造器,person2的创建利用了上面有name参数的构造器,并且这时person2是有名字的,被赋值为了Mark,person1比较可怜,只能用默认值null当名字。现在他们两个是“有血有肉”的两个人了,虽然person1没有名字,但是因为他们都是由Person类创建而来的,所以他们都有name这个属性和say这个方法。小伙伴们可以尝试着用起来啦!

匿名对象
这里还有一种特殊的对象,叫做匿名对象。
匿名对象,顾名思义就是没有名称的对象。这种类型的对象我们只能使用一次。比如:
在这里插入图片描述
第五行就是我们匿名对象的使用,它没有名字,所以使用完一次以后我们再也不能找到它了,这时它就会变成内存垃圾,等待GC回收。
一定要注意!
1) 匿名对象只能使用一次,因为没有任何的对象引用
2) 要使用多次的对象不能用匿名来创建

学会这个思想,麻麻再也不用担心我没有对象啦!

要是这篇文章有帮助的话,可以留下一个赞吗~

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值