理解对象:
生活中我们接触到的所有事务都是对象,比如现在你看的电脑/手机,他就是一个实实在在的对象,在面向对象的思想中,万事万物一切皆为对象。
java是面向对象编程语言的一种,所有java中的操作也是需要有这样的思想
1.类和对象的关系:
- 类是一类事物的抽象,类是抽象的概述
- 对象是事务的一种具体表现,对象是具体的体现
- 对象是需要使用类来进行创建的(关键字new)
2.jvm中的类和对象:
- 类在编译后,会被类加载器加载到内存,就是我们编写的类中的代码就会保存到jvm管理的内存中。
- 这时候,如果我们使用new关键字来创建这个类的对象,那么就会现在内存中申请一块空间,准备存放创建出的对象,然后根据内存中之前保存的java代码,来创建对象,
- 刚刚申请的内存空间,就保存这个对象的信息,就和java类中所定义的属性和方法保持一致。也就是当前我们在类中定义的属性和方法,
- 那么在这个对象中就有这些属性和方法的信息,并且这些信息都保存在new关键字申请的那个内存中,所以这个内存空间就是我们所说的这个对象,在jvm的表现形式。
3.创建类的实例:
- 实例和对象在java中大多数情况下是一个意思
- 需要new关键字和类中的构造器,结合在一起来创建对象/实例
- 如果一个类中没有构造器,那么jvm会自动帮这个类添加一个无参构造器
- 但是如果手动写了一个构造器,那么编译之后,就不会自动生成其他构造器
- 一个类中可以有多个构造器,但是无参构造器只能有一个,如果手动写了这个无参构造器,效果和上面一样
4.区分类中的属性,方法,构造器:
- 方法:方法名+小括号,这个小括号就是方法的参数体;
- 构造器:修饰符+类名+小括号,这个小括号也是参数体;
- 属性:后面不带小括号,它就是一个变量,可以把对象相关的某个值保存到这个属性中。
- 构造器和方法的区别:
- 构造器的名字要和类名一致,方法名只要满足提示符命名规则就行
- 方法的声明中一定有返回类型,如果没有返回类型就是void修饰
- 构造器一定没有声明类型,并且也没有void(修饰符+类名+小括号)
欢迎评论~