面试对象基础(上)
来源:互联网 发布:天刀女捏脸数据 编辑:程序博客网 时间:2024/06/05 02:05
一、初步认识
思考:把大象装冰箱一共分几步?
①打开冰箱
②把大象装进去(存储大象)
③关闭冰箱
如何使用面向对象思想思考上述问题呢?
人{ 拉(冰箱){ 冰箱.打开() } 指挥(动物){ 动物.进入() } 推(冰箱){ 冰箱.关闭() }}冰箱{ 打开(){} 存储(){} 关闭(){}}大象{ 进入(){}}猴{ 进入(){}}狮子{ 进入(){}}
面向对象和面向过程:
面向过程:强调的是功能行为
面向对象:将功能行为封装进对象,强调的是具备了功能行为的对象
面向对象更加注重前期的设计
①就是对类的设计
②设计类就是设计类的成员:属性 & 方法
class Animal{ //属性 String name; char gender; int age; //方法-行为 public void eat(){ System.out.println("吃饭"); } public void sleep(){ System.out.println("睡觉"); }}
若需要具体到某一个事物,通过 new 关键字创建对象
Animal a1 = new Animal(); //a1.name = "大象";a1.gender = '男';a1.age = 2;a1.eat();a1.sleep();System.out.println(a1.name + "," + a1.age);
类和对象:
类:对现实生活中一类事物的描述,抽象的
对象:是一个实实在在的个体
二、属性(也叫成员变量,也叫实例变量)
成员变量与局部变量的区别?
①作用域不同
②内存中的位置不同
③成员变量有默认值,局部变量没有默认值(局部变量使用前必须赋初始值)
成员变量的默认值:
1、基本数据类型:
byte short int —> 0
long —> 0L
float —> 0.0F
double —> 0.0D
char —> ‘\u0000’
boolean —> false
2、引用数据类型: —> null
|– 类(class)
|– 接口(interface)
|– 数组([])
为属性赋初始化值的方式
①使用默认值
②直接显示赋值
三、参数的值传递
基本数据类型: 将基本数据类型作为参数,传递给方法,方法运行结束后,原值不会发生改变
引用数据类型: 将引用数据类型作为参数,传递给方法,方法运行结束后,原值会发生改变
内存管理:
分配: JVM自动为其分配内存空间
释放:JVM通过垃圾回收机制自动的释放内存空间
垃圾回收机制: 将内存中的垃圾对象释放
垃圾对象:不再被任何引用指向的对象
Person p = new Person();
p = null;
System.gc(); //通知垃圾回收机制释放内存,但并不能保证立即释放,加快释放。
四、方法的声明和使用
1、方法的格式
修饰符 返回值类型 方法名(参数列表){
//功能语句
return 返回值;
}
返回值类型:说明方法运行后有结果,那个结果的数据类型。
参数列表:就是局部变量,可以有0个或多个,每个参数之间以 “,” 分隔
return : 用于结束当前方法
返回值:方法运行结束后,返回具体结果的值
2、方法的注意
①“返回值类型”与“返回值”的数据类型需要保持一致
②调用方法通过方法名和参数列表,注意方法名和参数列表(参数的个数、参数的类型)必须一致
③若声明了“返回值类型”说明该方法运行后有结果,若调用者需要用到该结果可以声明同类型变量接收。
④若方法运行结束后,不需要返回任何结果给调用者时,方法“返回值类型”处声明为 void (void : 表示没有返回值)
⑤方法中只能调用方法,不能声明其他方法
3、声明方法的两点明确
①方法是否需要返回结果给调用者
明确是否需要返回值类型,返回值类型是什么
②方法是否有未知的数据参与运算
明确是否需要参数列表,需要几个
4、方法重载(Overload)
前提:在同一个类中
①方法名相同
②参数列表不同(参数的个数、参数的类型)
注意:与返回值类型无关
- 面试对象基础(上)
- java基础面试(收藏上)
- java基础3--面向对象(上)
- Java基础面向对象(上)
- Objective-C基础(面向对象-上)
- javascript基础之面向对象(上)
- Python3 基础:面向对象编程(上)
- java基础-面向对象(上)
- Java基础之面向对象(上)
- Python基础09 面向对象(上)
- JAVA面试问题—基础篇(上)
- Android面试-Java基础-面向对象
- java基础----对象的上转型对象
- java基础3--面向对象(上)(内部类)
- java基础3--面向对象(上)(综合练习题)
- java基础3--面向对象(上)--要点总结
- C# 面向对象设计基础 二(上)
- 黑马程序员---java基础---04面向对象(上)
- Molar mass 分子量(P57)/ UVA
- Androidstudio上传版本库注意事项
- openresty(完整版)Lua拦截请求与响应信息日志收集及基于cjson和redis动态路径以及Prometheus监控
- Java解析(读取)Json数据{}、[{}]
- PHP使用mysqli对mysql数据库的基本操作
- 面试对象基础(上)
- 工具类的实现
- NOIP2016提高组题解
- 从程序员角度理解磁盘分区(MBR和GPT)
- AvoidRoads
- H5移动端rem自适应方案
- jquery动态控制ul标签的隐藏显示
- 语句(Statement)---条件判断语句
- java包装类