嗨,你好, 下面我们一起来学习,类,字段,和方法。 类呢是Java程序当中的最基本的要素。 可以说呢我们写程序呢就是要定义一个一个的类。 那么这个类呢,它就是这一类对象的原形。我们把这现实 生活里面的每一类对象呢,把这个原形定义好。那我们程序呢基本上就写好了。 那这个类呢,它与我们的其它的比如说C元不一样, 它是把封装了这一类对象的状态和方法,从形式上呢我们也可以说呢 它就是把变量和函数,不是在一起了,是把这些变量和函数封装到一个类当中。 因为这一变量和函数跟类相关。那这里有个例子,比如说我们要定义人这个类。 Person这个类,它里面有姓名,有年龄,那这些变量。 还有一些函数,比如说say Hello, 打招呼,怎么样打招呼。说,你好,我的, 我是谁谁谁。那这一些变量或函数都封装到一个 类里头。这个person这个类。因为它是跟人相关的变量或函数。那这里面呢, 也就是说类里面就实际上就是要定义它的字段和方法。所谓字段,field, 它是 类的这个属性,比如说姓名年龄,它是用变量 来表示的,那么字段呢,又成为称为域,或域变量。 也叫属性,也叫成员变量。那这些叫法都可以。 而函数呢,我们把它称为方法。 那它是类的功能,和操作。比如说,say Hello, 打招呼, 或者是一些判断等等,就是它的功能或操作。那么就是方法。 对我们经常以后就是说呢,Java程序里面实际上是类。 而类里面呢,就是两个东西。一个是, 字段,一个是方法。 那么方法呢,里面有一个特殊的方法,就叫构造方法,constructor. 那么它的作用呢,不是说用来打招呼啊,或者是定义类的行为。它更多的是用来了 初始化,或是说我们new, 重新创建这样一个对象的时候我们要做的事情。 这个功能呢, 就是我们说的就是构造方法。那么构造方法它的书写呢是和类同名。 并且呢不论像函数一样写返回类型。直接写 类名儿,然后呢,有一些参数。括号里面有方法题。 那所以,那么一般来说呢构造方法最常见的就说我在构造这个对象的时候会传一个 字母串儿,成一个整数。那么分别表示姓名和年龄。 那么初始化做的事情呢,一般来说呢,最常见的就是把 这两个变量。这些传进来的变量存到我的字段里头。 所以这就是初始要做的事情。这个呢就称为构造方法。 那么任何一个对象呢它都要构造,所以呢,在一定 任何一个类呢,我们都有构造方法。 甚至可以有多个构造方法,就是说它有不同的参数类型。 但是如果我们没有定义一个构造方法,系统会自动地帮我们产生一个 构造方法,这种构造方法嘞,就称为默认构造方法。 当然默认构造方法它既不带参数,并且方法体也是空的。 那这个好,你等于就是说我初始化,但什么事情也不做,但是呢它确实是可以初始化的。 那么使用对象呢,我们基本地使用了一个就是使用 初始化,或者说创建这个对象。New, 初始化, 创建这个对象。那么它基本的用法就是new, 一个person, 那么这个对象呢, 创建以后呢,得到的是一个这个对象的引用。 那这个引用我们经常复制到一个引用变量里头。 也就是它,就引用到这个对象。然后我们要它了 就是用这个点运算符,也就是说p点name. 那现在试一下同学就知道了,这里 我们教了你,因为它没有指证。没有指证 所以它不用一个箭头号。它直接就是这个引用对象的姓名。 或者呢,引用对象的方法名。就是这样来使用它的字段和方法。 那么这种使用方式的好处就是一个是封装性, 比如说我们把姓名啊,年龄啊,以及这些函数我们都封装在一起了。 这叫封装性,另一个是安全性。由于我们教了你们对象呢,它是一个引用来访问的。 也就是说,我这个对象,它确实是类层里面的区域。 那我们去访问它呢,只能通过这个引用去访问。你不能随便拿一个指证乱指到一个地方。 然后就把内层就弄坏了,所以它就是安全。它一定是通过这个 引用来访问的,并且这个引用呢是有类型的。我们比如说人的引用,那只能是一个人的, 这种姓名年龄。如果我们一本书呢,书可能就, 就是,书的题目和作者等等。所以呢它是一个安全的访问这个内层方面。 另外我们在使用方法里面还有一个概念叫 重载,overloading. 重载呢简单地说就是我们有多个方法有相同的名字。 那么多个方法有相同的名字呢,在编译这个程序的时候它能识别出来。 当然前提是什么呢?就是我的参数是不同的。或者说呢,准确地说呢,这个方法的签名, 什么叫签名呢?就参数的个数以及参数的类型不同。 那么参数的那个名字是不作为签名的一部份。也就是说 我们判断它同不同主要是看这个参数的个数和类型。当然有顺序了。 就是说这个,如果这两个签名不同,我们虽然都叫say Hello, 但是呢 我们有一个是可能带0个参数, 一个呢,带1个参数。那编译的时候呢,它能自动识别。 那这就比signature要好,signature呢我们知道它所有的函数是不能同名- 的。我们那个能同名的函数呢, 但是因为它的签名不同,或是它参数不同, 参数的类型不同,我们就能区分它。这样就方便了。那么这一种方式呢是属于 多态的一种。多态是面向对象与原理的一个 基本概念。也就是说我们写同样一句话, 那么它在执行的时候呢,它会自动去找到 它应该怎么执行。我们都是要打招呼,但是在0个参数呢,可能我们就说, 你好。然后呢带一个参数呢,我们就说,某某某你好。所以这样的话我们就可以就说 同样的名字有不同的参数,根据方法重载。