基础知识面向对象
一 Java面向对象的三条主线:
1 Java类及类的成员:属性,方法,构造器;代码块,内部类
2 面向对象的三大特征:封装性,继承性,多态性;(抽象性)
3 其他关键字:this,static,super,final,abstract,interface,import,package等
二 “人把大象塞进冰箱” 动词是操作(方法)
面向过程:强调的是功能行为,考虑怎么做
1 把冰箱门打开
2 把大象抬起,塞进冰箱
3 把冰箱门关上
面向对象:强调具备功能的对象,考虑谁来做
人{
打开(冰箱){
冰箱.开开();
}
抬起(大象){
大象.进入(冰箱);
}
关闭(冰箱){
冰箱.闭合();
}
}
冰箱(){
开开(){}
闭合(){}
}
大象(){
进入(冰箱){}
}
三 面向对象的两个要素
类:抽象的
对象:具体的实例(instance)
面向对象的程序设计的重点是设计类
设计类就是设计类的成员
属性 = 成员变量 方法 = 成员方法 = 函数
四 类和对象的使用
1 创建类,设计类的成员
2 创建类的对象
3 通过“对象名.属性” “对象名.方法”调用对象的结构
五 如果创建了一个类的多个对象,则每个对象都独立拥有一套类的属性。(非static的)
意味着:如果我们修改一个对象的属性a,则不影响另一个对象的属性a的值。
六 类中属性的使用
属性(成员变量) vs 局部变量
不同点:
1 在类中声明的位置不同
属性:直接定义在类的{}内
局部变量:声明在方法内,方法形参,代码块内,构造器形参,构造器内部的变量
2 关于权限修饰符的不同
属性:可以在声明属性时,指明其权限,使用权限修饰符。
常用的权限修饰符:public private protected 缺省(默认,常用)
局部变量:不可以使用权限修饰符
3 默认初始化值的情况
属性:根据其类型,都有默认的初始化值
整型(byte short int long ):0
浮点型(float double):0.0
字符型(char):0
布尔型(boolean):false
引用数据类型(类,接口,数组):null
局部变量:没有默认的初始化值
意味着:我们在调用局部变量之前,一定要显示赋值
特别的,形参在调用时,我们赋值即可。
4 在内存中加载的位置不同
属性:加载到堆空间中
局部变量:加载到栈空间中
七 类中方法的使用
1 方法的声明:
权限修饰符 返回值 方法名(形参列表){
方法体
}
八 返回值类型:有返回值 Vs 没有返回值
1 如果方法有返回值,则必须在方法中声明时,指定返回值类型。同时,方法中需要使用return关键字(不可以声明执行语句)来返回指定类型的变量或常量:“return 数据”。
如果方法中没有返回值,则方法声明时,使用void来表示。
2 形参列表:方法可以声明0个,1个或多个形参。
格式:数据类型1 形参1,数据类型2 形参2,…
3 方法的使用中,可以调用当前类的属性或方法
方法中,不可以定义方法
九 匿名对象的使用
1 理解:我们创建的对象,没有显示的赋给一个变量名,即为匿名对象
2 特征:匿名对象只能使用一次
3 格式:new 类名().类使用的方法();
十 方法重载
1 定义:“两同一不同”:同一个类 同一个方法名
参数列表不同:参数的个数不同 参数的类型不同
2 判断是否重载
跟方法的限定修饰符,返回值类型,形参变量名,方法体都没有关系。