java简单的面向对象代码实例 java面向对象菜鸟教程_面向对象

 

java简单的面向对象代码实例 java面向对象菜鸟教程_jvm_02

面向对象编程的例子

java简单的面向对象代码实例 java面向对象菜鸟教程_java简单的面向对象代码实例_03

 

java简单的面向对象代码实例 java面向对象菜鸟教程_jvm_04

 

java简单的面向对象代码实例 java面向对象菜鸟教程_java_05

 设计类,创建对象并使用 

java简单的面向对象代码实例 java面向对象菜鸟教程_jvm_06

java简单的面向对象代码实例 java面向对象菜鸟教程_开发语言_07

 

1. 类和对象是什么?

类:是共同特征的描述(设计图);对象:是真实存在的具体实例。

2. 如何设计类?

java简单的面向对象代码实例 java面向对象菜鸟教程_面向对象_08

3. 如何创建对象?

java简单的面向对象代码实例 java面向对象菜鸟教程_java_09

 

4. 拿到对象后怎么访问对象的信息?

对象.成员变量;

对象.成员方法(…)

定义类的补充注意事项

类名首字母建议大写,且有意义,满足“驼峰模式”。

一个Java文件中可以定义多个class类,但只能一个类是public修饰,而且public修饰的类名必须成为代码文件名。

实际开发中建议还是一个文件定义一个class类。

成员变量的完整定义格式是:修饰符 数据类型 变量名称 = 初始化值; 一般无需指定初始化值,存在默认值。

java简单的面向对象代码实例 java面向对象菜鸟教程_开发语言_10

成员变量的默认值规则

java简单的面向对象代码实例 java面向对象菜鸟教程_开发语言_11

总结:

类名首字母建议大写、英文、有意义,满足驼峰模式,不能用关键字,满足标志符规定

一个代码文件中可以定义多个类,但是只能一个类是public修饰的,public修饰的类名必须是Java代码的文件名称。

成员变量的完整格式是:修饰符 数据类型 变量名称 = 初始化值;

一般无需为成员变量指定初始化值,存在默认值。

对象在内存中的运行机制

java简单的面向对象代码实例 java面向对象菜鸟教程_开发语言_12

1. 对象到底是放在哪个位置的?

堆内存中

2. Car c = new Car();  c变量名中存储的是什么?

存储的是对象在堆内存中的地址。

3. 成员变量(name、price)的数据放在哪里,存在于哪个位置?

对象中,存在于堆内存中。

java简单的面向对象代码实例 java面向对象菜鸟教程_jvm_13

垃圾回收

注意:当堆内存中的对象,没有被任何变量引用(指向)时,就会被判定为内存中的“垃圾”。

java简单的面向对象代码实例 java面向对象菜鸟教程_开发语言_14

构造器 

java简单的面向对象代码实例 java面向对象菜鸟教程_java_15

构造器的注意事项

任何类定义出来,默认就自带了无参数构造器,写不写都有。

一旦定义了有参数构造器,那么无参数构造器就没有了,如果还想用无参数构造器,此时就需要自己手写一个无参数构造器了。

java简单的面向对象代码实例 java面向对象菜鸟教程_开发语言_16

总结:

1.构造器的作用?

初始化类的对象,并返回对象的地址。

2.构造器有几种,各自的作用是什么?

无参数构造器:初始化对象时,成员变量的数据均采用默认值。

有参数构造器:在初始化对象的时候,同时可以接收参数为对象进行赋值。

3.构造器有哪些注意事项?

任何类定义出来,默认就自带了无参数构造器,写不写都有。

一旦定义了有参数构造器,无参数构造器就没有了,此时就需要自己写无参数构造器了。

this关键字

可以出现在构造器、方法中

代表当前对象的地址。

java简单的面向对象代码实例 java面向对象菜鸟教程_java简单的面向对象代码实例_17

this关键字的作用

可以用于指定访问当前对象的成员变量、成员方法。

java简单的面向对象代码实例 java面向对象菜鸟教程_java_18

this关键字是什么?

出现在构造器和成员方法中,代表当前对象的地址。

2.this关键字在构造器中、成员方法中可以做什么?

可以用于指定访问当前对象的成员。