详细讲解类和对象

1.面向对象

1.1何为面向对象

恋爱脑门别乱想了,这里的对象不是你们想的对象。在Java里,对于面向对象的世界中,一切皆为对象,面向对象是一种解决问题的思想。主要依靠对象之间交互完成一件事情!用面向对象的思想来解决问题跟容易适应大程序的设计。

1.2面向对象与面向过程

举一个简单的例子:洗衣服;

这是面向过程的洗衣服,要考虑各种情况以及过程,如果使用这种方法来写程序必然会十分繁琐。

这是面向对象的洗衣服:

 面向对象的思想中,我们不用过多去关注太多细节,一共就三个对象:人,衣服,洗衣机;通过对象之间的相互合作来完成洗衣服这个工作。

2. 类

2.1 认识类

类是用来对一个实体(对象)来进行描述的,主要描述这个实体的特征,功能:

例如:

洗衣机牌子:xxxx

尺寸:xxxxx     颜色:xxxxx    型号:xxxxxx    功能:xxxxxxx

2.2 类的定义格式

       

定义类需要用到关键字 class ,{}中的内容是实体;

3. 类的实例化

3.1 何为实例化

定义一个类,就相当于定义了一个新的类型,与 int double 类似,只不过它们是计算机自带的,而类是自己定义的。有了这些自定义类型就可以使用他们来创建对象了.

用类类型创建对象的过程,称为类的实例化,在java中采用new关键字,配合类名来实例化对象。

实例化对象之后就可以使用相对应类里面的成员了,通过 . 进行访问;

3.2 类和对象的说明

1. 类只是一个模型一样的东西,用来对一个实体进行描述,限定了类有哪些成员。

2. 类是一种自定义的类型,可以用来定义变量。

3. 一个类可以实例化出多个对象,实例化出的对象 占用实际的物理空间,存储类成员变量。

4. 构造方法

4.1 为什么使用构造方法

类里面是可以包含方法的,我们在给类中成员变量赋值时,每次都要手动引用,十分麻烦,因此我们可以使用构造方法来快速给成员变量赋值;简单地说使用构造方法就是为了方便给成员变量赋值。

4.2 怎么使用构造方法

如图类中 public Student ()这个方法就是构造方法,大家可能好奇 this 关键字是什么,我们下文会说到。当你写好了构造方法后,就可以在实例化对象的时候之间给成员变量赋值了。

值得注意的是 即使我们没有写构造方法,Java默认也是写有一个没有参数的构造方法的,但是一旦我们给出了构造方法,那么默认没有参数的构造方法也会消失。

5. This 

5.1 认识 this

this 是 Java 中的一个关键字 ;this 引用指向当前对象(成员方法运行时调用该成员方法的对象),在成员方法中所有成员变量的操作,都是通过该 引用去访问。只不过所有的操作对用户是透明的,即用户不需要来传递,编译器自动完成。

对比这两张图片,大家大概就知道为什么要使用 this 了吧,就是为了区分类方法中参数与成员变量的关系;注意:this引用的是调用成员方法的对象。 

5.2 this 的特性

1. this 的类型:对应类类型引用,即哪个对象调用就是哪个对象的引用类型

2. this 只能在"成员方法"中使用

3. 在"成员方法"中,this只能引用当前对象,不能再引用其他对象

6. 默认初始化 

一般来说局部变量不应该要初始化才能使用吗?这没错,只是这里有 new 的作用:

new 在程序层面只是简单的一条语句,在JVM层面需要做好多事情,下面简单介绍下:

1. 检测对象对应的类是否加载了,如果没有加载则加载

2. 为对象分配内存空间

3. 处理并发安全问题

比如:多个线程同时申请对象,JVM要保证给对象分配的空间不冲突

 

  • 17
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值