一、类与对象的关系
在 Java 中,类是创建对象的模板。
对于对象,通过对 对象的抽象来得到类,再通过对类的 实例化,得到对象。
二、抽象化
这样的关系就如同需要大批量生产一个款式的鞋,现在需要从不同色系、不同样式的鞋中找出这些鞋的共同点——鞋底和鞋身。于是通过这些共同点来做出一个通用化的制作模具。
↑ 这就是抽象化。
三、实例化
现在工厂需要大批量生产这种款式的鞋,但要求颜色不一样。
于是就通过这个模具,进行大批量的生产原型鞋,再将这些鞋送到加工厂里进行个性化的加工。
最后生产的出来的鞋满足了商家的需求。
↑ 这就是实例化。
四、初始的类
对于新手在我们实际的编码过程中,我们经常会碰到类,而且类就在我们的身边:
上图为我们在创建一个类之后,系统所显示的文本内容。
我们可以明显的看到 public class 这两个关键字。
对!这就是类,一个初始的类。
五、main方法——生命之源
当我们想要写一个可以运行的简单java文件时,会毫不客气地打上如上图所示地内容:
public static void main(String[] args){
}
这是一个让程序能够开始执行的入口
因为它规定的是有且只有一个 public class 的与类文件名相同的类名下的 main 方法 才能开始程序的执行。
所以,我们进入程序执行的路径,是在一个 public class所修饰的类下的 main 方法的入口处。
我想说的是什么呢?其实很简单,我们在类中开始了我们的程序执行。
六、对象
我相信学习过Java基础语法的人都能看得懂这个代码意思,并且这是一个可以执行和结束运行的安全代码。
因此,我将它来作为我想要描述对象的一个特殊新手案例。
我们都知道,实现键盘录入的三个步骤分别是:1.导包 2.创建对象 3.接收数据,如下所示:
// 1.导包
import java.util.Scanner;
// 2.创建对象
Scanner sc = new Scanner(System.in);
// 3.接收数据
int n = sc.nextInt();
我们可以观察到,步骤二名字叫”创建对象“。
这就是我想要表达的问题:我们很早就已经在使用对象了,只是并不知道它真正意义上的过程是什么。
因此,我想要探究一个问题,sc 是什么?
当我带着这样的疑问进入实践时,这个问题有了一些现象级的表现
我看着下边一整行的奇怪内容,心中不经意间产生了动容,只因这个平日里我一直使用的语句没想到它出现了与众不同的结果。
当我翻看API中关于类Scanner描述时,或许我找到了一些出路:
一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器。
或许,它可能就是我所想表达的对象吧,一个我亲手定义的名为sc的对象。
七、总结
Scanner实现的过程更像是一个极简化的实例化过程。
我们通过创建一个叫做 sc 的对象来实现面向对象思想,它就像爱情,我们只是产生了一个想要去找一个能够与自己白头偕老的人的念想,这既是开始,也是思想的出现的标志!