今天把java学习到了类与对象,上次学的时候有点迷茫,确实听不懂,有点类似于c中的指针,还像c中的结构体。
创建的Student类
我们可以在另外的文件中创建一个Student类,用class修饰,其中number,age,address为成员变量,也称作实例变量,可以描述一个类的基本属性,但是类的方法在这里并没有定义。
以狗为例子,很多只狗的共有毛色,大小,眼睛颜色等等静态的东西可以理解为他的属性,在java的类中亦是如此,其中number,age,address是这个student的共有属性,当然,每个student的number,age,address可能都是不同的,每个Student创造的对象可能都会有不同的值,所以,这些变量也叫做实例变量,将变量实例化。暂时我是这样理解的。
值得一提的是,我这次写的源代码实在idea,我创建了新的文件直接不用编译为class文件,可以直接在main函数中使用,但是在dos窗口编译的话就需要先将Student.java编译成class文件,这样main函数才能识别。这也许就是idea的好处。
类和对象运行实例1
这是创建好了对象并且访问对象的属性。
可以看到,我们用 类名 引用 = new 类名();
来创建一个对象。这也是很基础的创建对象的方法。我们可以这样理解,先要有类。在可以有对象。因为相对于对象,类是更广泛的。其中new是一个运算符, 新 这很好理解。当输完这一串时,一个变量就创建好了,他的名字为s1。
可是我们怎么调用成员变量呢,在代码里我们用了 s1.变量名 来访问一个变量,这和c的结构体很像。可以说很多语言都是相通的。
这是在main函数中运行的结果,注意第一张图的代码,并没有将各个成员变量赋值,但是输出分别是0 0 null。简单来说就是我并没有初始化,但是他还是给了我一个初值,这只是成员变量的属性,在普通变量中,这样不初始化的结果是编译报错。
再来看看怎么修改实例变量。
修改实例变量并且访问
在上图,我们把初始的实例变量赋值,相信在上面的讲解重新赋值的方法肯定也很简单了。
就和普通的变量赋值差不多。
总结:1.java中类和对象还是很简单的,其实“引用”这个值很复杂。可以把他看作在栈stack里面的一个指针,指向在堆内存里面的对象,这可能也是java隐藏指针的地方。
2.java中类和对象也是可以嵌套的,如果把这个联想为生活中的类和对象,这可能会有点难理解,但是如果你知道指针,这就很好理解。
3.学习java还是一个长远的过程,现在只是皮毛。
不知道为什么不喜欢前端呢,我觉得对其他都很喜欢,为什么就是不喜欢敲前端?
23/11/21