类
- 用class关键字可以传建一个类。
- 类中可以设置两种类型的元素:字段(有时被称为数据成员),方法(有时被称为成员函数)
- 字段
- 字段即数据成员
- 字段可以是任何类型的对象(可以是是引用类型,也可以是基本类型)
- (3) 每个对象都有用来存储其字段的空间,普通字段是不可以在对象间共享的
- 两个对象都各自有他们自己的字段,虽然字段是同名的,但是这两个对象对这个字段的操作都是对自己的字段的操作,不能操作另一个对象的。
- 但是static修饰的字段,是在对象内共享的,他只有一份空间,不管是那个对象,对这个字段操作,都会影响所有的对象的这个字段,因为他们只能操作这一个字段。
- 修改字段的内容
- 如果想修改的数据位于对象所包含的其他对象中,那就多用一个’.’
- ex: myPlane.leftTank.capacity=100;
- 基本成员的默认值
- 只有类内的字段时,才能有一个默认值。不是类内的字段的成员是没有初始默认值的,仍然会是一个任意值。
基本类型 | 默认值 |
boolean | false |
char | null |
byte | 0(byte) |
short | 0(short) |
int | 0 |
long | 0L |
float | 0.0f |
double | 0.0d |
- 方法
- 方法签名:方法名+参数列表
- Java中的方法只能作为类的一部分来创建,即方法一定要属于一个类。
- 方法只能通过对象才能被调用。
- 也就是通过 对象名 . 方法名的方法
- static方法是针对类调用的,不依赖与对象,因此可以通过,类名 . 方法名 的方法调用。
- a.f( ) 这种调用方法通常称为 发送消息给对象
- f( )为消息,对象为a
- 参数列表
- 像所有传递对象的场合一样,参数列表里的参数传递也是引用。
- java里面只有值传递
- 那么如何理解参数传递的是引用呢?
- 区别引用传递和值传递
- 引用传递实参的地址给形参,而值传递是拷贝实参的值给形参。
- 区别引用传递和传递对象的引用
- 在传递对象的时候,传递的是引用,而引用的值是对象的地址,所以虽然传递的是一个地址,传递的是一个引用,但是传递的实际是引用的值,而不是引用的地址。
- 换句话说,传递对象的时候,传递的是堆栈空间里面引用的值,而不是堆栈空间里面的地址,只不过这个堆栈空间引用的值恰好是一个堆空间的地址而已。
- 而对于基本类型来讲,显然是值传递。
- 因为传递给形参的是拷贝的实参的值。不会影响实参的值。
- 所以可以知道 java里只有按值传递。
- 像所有传递对象的场合一样,参数列表里的参数传递也是引用。
- 返回值
- return...
- void类型可以没有return语句