java复习—面向对象
面向过程
面向过程:强调的是功能行为,以函数为最小单位,考虑怎么做。
面向对象:强调的是具备了功能的对象,以类为最小单位,考虑谁来做。
面向对象的三大特征:封装,继承,多态。
面向对象
类成员的构成
- 成员变量或属性
- 构造器(构造方法)
- 方法(函数)
- 匿名代码块
- 内部类
对象的创建
类名 对象名 = new 类名();
使用“对象名.对象成员”的方式访问对象成员(包括属性和方法)
属性
语法格式:修饰符 数据类型 属性名 = 初始化值
成员变量与局部变量:
相同点:
- 定义变量的格式:数据类型 属性名 = 初始化值
- 先声明,后使用
- 变量都有其对应作用域
不同点:
- 类中声明的位置不同:属性:直接定义在类的一对{}内。局部变量:声明在方法内,方法形参,代码块内,构造器形参,构造器内部的变量
- 关于修饰符不同:属性:可以在申明属性时使用权限修饰符。局部变量:不可以使用权限修饰符。
- 默认初始化情况:属性:类的属性,根据其类型都有默认初始化值。整型:0,浮点型:0.0,字符型:0,布尔型:false,引用数据类型:null。局部变量:没有默认初始化值。调用时要显示赋值。
- 内存中加载的位置:属性:加载到堆空间,局部变量:加载到栈空间。
方法
描述类应该具有的功能:
Math类:sqrt() \ random() \ …
Scanner类 : nextxxx()…
Arrays类:sort() \ binarySearch() \ toString() \ equals() \ …
举例:
public class Person{
private int age;
public int getAge() { //声明方法getAge()
return age;
}
public void setAge(int i) { //声明方法setAge
age = i; //将参数i的值赋给类的成员变量age
}
}
声明格式:
修饰符 返回值类型 方法名(参数类型 形参1, 参数类型 形参2, ….){
方法体程序代码
return 返回值;
}
构造器
构造器的特征 :它具有与类相同的名称
它不声明返回值类型。(与声明为void不同)
不能被static、final、synchronized、abstract、native修饰,不能有 return语句返回值
构造器的作用:创建对象;给对象进行初始化
方法的重载
重载的概念 :在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数 类型不同即可。
重载的特点: 与返回值类型无关,只看参数列表,且参数列表必须不同。(参数个数或参数类 型)。调用时,根据方法参数列表的不同来区别。
重载示例: //返回两个整数的和 int add(int x,int y){return x+y;} //返回三个整数的和 int add(int x,int y,int z){return x+y+z;} //返回两个小数的和 double add(double x,double y){return x+y;}
说明:
- 声明格式:方法名(参数的类型名 …参数名)
- 可变参数:方法参数部分指定类型的参数个数是可变多个:0个,1个或多个
- 可变个数形参的方法与同名的方法之间,彼此构成重载
- 可变参数方法的使用与方法参数部分使用数组是一致的
- 方法的参数部分有可变形参,需要放在形参声明的最后
- 在一个方法的形参位置,最多只能声明一个可变个数形参
方法的继承
子类继承父类的属性,方法。
方法的重写