这份总结适用于有Java基础的同学的复习或者面试前的准备。不了解Java基础知识以及面向对象的同学,请移步尚硅谷的视频https://www.bilibili.com/video/BV1Kb411W75N?p=1
本文介绍以下内容
- Java的类和对象含义
- 类的五个成员:属性、方法、构造器、代码块、内部类
- 面向对象编程的三大特征:封装、继承、多态
- Java中的关键字static,final,abstract,四个权限修饰符
- Java中的接口
类和对象
类是对具体事物的抽象的概括。比如人
对象是实际存在的个体,是类的实例。比如张三李四
面向对象和面向过程的区别
面向对象(Object Oriented Programming):强调功能的对象,以类、对象作为最小单位
面向过程(Procedure Oriented Programming):强调功能行为,以函数为最小单位。
举个例子, “人把大象装进冰箱”
面向过程的方式
1. 打开冰箱门
2. 把大象抬进去
3. 把冰箱门关上
面向对象的方式
Person{
open(fridge){
fridge.openDoor();
}
load(elephant){
elephant.enter(fridge);
}
close(fridge){
fridge.closeDoor();
}
}
Fridge{
openDoor(){
};
closeDoor(){
};
}
Elephant{
enter(){
};
}
面向对象的思维高度高于面向过程,易于扩展
面向对象程序的重点是类的设计,即类的成员的设计
类的成员
属性(field,成员变量)
属性和局部变量的对比
- 属性被声明在类下面的变量,局部变量声明在方法内、方法形参、代码块内、构造器形参、构造器内部的变量
- 声明属性的时候可以使用权限修饰符,局部变量不可以
- 属性有默认初始化值比如boolean默认初始化false,局部变量一定要显式赋值
- (非static)属性加载到堆空间,局部变量加载到栈空间
方法(method,其他语言称为函数)
方法包含的元素有:
- 权限修饰符(public, protected, 缺省, private)(可选)
- 返回值类型(必须,无返回值时用void)
- 方法名(必须)
- 形参(可选, 可以声明多个形参)
注意点
- 方法内可以调用当前类的属性和方法
- 方法中不可以定义一个方法
方法参数的值传递机制(重点)
前提
如果变量是基本数据类型(int, float, char这些),那么赋值保存变量的数据值
如果变量时引用数据类型(String, 数组这些),那么赋值保存变量数据的地址值
形参:方法定义时小括号内的参数
实参:方法调用时,实际传递给形参的数据
值传递
如果参数是基本数据类型,那么实参传递到形参的是数据值
如果参数是引用数据类型,那么实参赋给形参的是数据的地址值
public void swap(int i, int j){
int temp = i