目录:
一、类的定义与使用:
1、认识类:
类是用来对实体(对象)进行描述的。主要用来描述实体具有的哪些属性、哪些功能的。
比如:我们生活中常见的吸烟机。
2、类的定义格式:
咱们直接举一个吸烟机的简单的类:
吸烟机这个对象的属性为成员变量,动作为成员方法。
注意:1、类的名字要用大驼峰定义。
2、这里的方法不带 static 。
3、一般一个文件当中只定义一个类。
二、类的实例化:
1、什么是类的实例化:
当你定义了一个类之后,就相当于在计算机中定义了一个新的类,比如:程序中原有的int、double等类型。用类这个类型创建对象的过程,称为类的实例化。在Java中采用new关键词,配合类名来进行实例化。
咱们来看看一段代码:
这里的狗这个类,就是用new来实例化的而且Dog和Test不在同一个.java文件中,因为我们在上面已经在Test中编写了一个吸烟机的类。当然,也不是说不能在Test中编写Dog这个类,只是不是很规范。当然,不是说我使用一次这个类就不能用了,还是可以用的:
注意:1、new 关键词用于创建一个对象的实例。
2、同一个类可以创建多个类。
3、用 . 来访问对象当中的属性和方法。
2、类和对象的说明:
1、类是一种自定义的类型,可以用来定义变量。
2、一个类可以实例化多个对象,实例化出的对象占用实际的空间。
3、类就是一种模型,用来对一种物体的描述,类实现的对象才是真正的变量。
三、this引用:
咱们在开始介绍 this 时候我们先来看一段代码:
这个呢,就是这个代码的工作原理。
那咱们来再看一段代码:
再来看一段代码:
那么我们要如何解决这个问题呢?
1、this 引用的特性:
1)、this只能在“成员方法”中使用。
2)、在“成员方法”中,this只能引用当前的对象,不能引用其他对象。
注意:1、this 不能用在静态方法中
2、 this 的三种用法:
(1)、通过 this 访问当前对象的成员变量
(2)、通过 this 访问当前对象的成员方法
(3)、通过 this 访问当前对象的构造方法
四、对象的构造以及初始化:
1、如何初始化对象:
在前面我们说了,对于java来说,变量在使用之前一定要初始化才能正常使用。当然对于类来说这个规则依然有效那么我们如何初始化对象呢?当然了,在上面的代码中我们看到了setDog这个方法就可以初始化,那么难道我们每次都需要向上面这样初始化吗?咱们再看一下关于这个代码的初始化:
但是呢,咱们在上面的时候,我们没有初始化依然可以使用成员变量,这是为什么呢?
并且,我们每次都要在对象创建完成之后在初始化对象,这样就会非常的麻烦,那么我们要如何解决呢?
我们先一个一个来。
2、构造方法:
1)、概念:
构造方法是一种特殊的成员方法,名字必须与类名相同,并且没有返回值,当创建对象的时候,由编译器自动调用,并且在整个对象的生命周期中只调用一次。
咱们直接编写一段代码看看:
注意:构造方法的作用只是初始化,并不会为对象开辟空间。
2)、特性:
(1)、名字必须与类名相同
(2)、没有返回类型
(3)、创建对象时自动调用,并且只执行一次。
(4)、构造方法可以重载,这个咱们直接看代码:
(5)、当我没有定义构造方法的时候,编译器会生成一个默认的构造方法,生成的默认构造方法一定是无参的,但是当用户定义的时候,编译器则不在生成。
(6)、在构造方法中,可以通过 this 调用替他构造方法来简化代码。
注意:this() 必须是构造方法中的第一个语句。
3、默认构造方法:
我们回到第一个问题,为什么没有构造方法,但是仍然可以使用对象呢?这里就是默认构造方法的功劳了,那么它是怎么形成的呢?我们先来看一段代码:
但是看到这里,是不是有人会这样做: 创建对象的底层原理是什么呢?
1、先检测创建的对象所对应的类,是否被加载过,如果没被加载,那么就会加载。
2、为所创建的对象分配内存空间。
3、处理并发的安全问题,查看1是否有冲突。
4、以上都完成就会初始化对象所分配的内存空间。
5、设置对象的头信息。
6、调用构造方法,给对象中的每个成员变量赋值。
4、就地初始化:
这个就是非常简单的了,我们直接看代码,就会理解 :
总结:
咱们的类和对象的第一部分就到这里就结束了,咱们接下来看看第二部分。那么预知下事如何,且看下一篇文章。拜拜喽~~