Java面向对象
Java 面向对象02
方法和变量
方法就是用来解决一类问题的代码的有序组合,是一个功能模块。
一般情况下,定义一个方法的语法是:
访问修饰符 返回值类型 方法名(参数列表){
方法体;
}
其中:
-
访问修饰符:方法允许被访问的权限范围, 可以是 public、protected、private 甚至可以省略 ,其中 public 表示该方法可以被其他任何代码调用,其他几种修饰符的使用在后面章节中会详细讲解滴
-
返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为 void ;如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用 return 语句返回值
-
方法名:定义的方法的名字,必须使用合法的标识符
-
参数列表:传递给方法的参数列表,参数可以有多个,多个参数间以逗号隔开,每个参数由参数类型和参数名组成,以空格隔开
根据方法是否带参、是否带返回值,可将方法分为四类:
-
无参无返回值方法
-
无参带返回值方法
-
带参无返回值方法
-
带参带返回值方法
方法重载
方法重载(overlord),指同一个类中,有几个方法,名字相同,参数列表不同的现象。
方法重载的特点是:
- 在同一个类中
- 名字相同
- 参数列表不同:参数个数不同、参数顺序不同、参数类型不同
重载的方法:基本功能相同,只是方法需要的原始数据不同而已。
重载的方法之间互相没有影响,只是在调用时,不能通过方法名区分,而是通过参数列表区分。类似于同卵双胞胎。
构造方法
构造方法(constructor),指类中定义的用于构建创造对象的方法。
构造方法的特点是:
- 方法名必须是类名
- 没有返回值 不用void标示
- 不能被对象调用
- 只能通过关键字new调用,每调用一次创建一个对象
- 一个类没有构造方法 编译器默认添加一个无参数的构造方法
- 构造方法的参数列表一般给属性赋值
构造方法和普通方法的区别:
- 命名不同
- 构造方法名字必须是类名
- 普通方法名字可以是类名
- 格式不同
- 构造方法没有返回值 不用void标示
- 普通方法必须有返回值类型标示 没有返回值用void标示
- 调用不同
- 构造方法只能被关键字new调用,每调用一次创建一个对象
- 普通方法被对象调用, 一个对象可以调用多次
- 作用不同
- 构造方法用于创建对象
- 普通方法标示本类创建的对象具有的某一个指定功能
变量
成员变量:类中直接定义的变量
局部变量:方法中定义(参数列表+方法体)的变量
区别:
- 位置不同
- 成员变量在类中定义
- 局部变量在方法中定义
- 作用域不同
- 成员方法作用域为本类
- 局部变量作用域为当前方法
- 是否有默认值
- 成员变量有默认初始值,值取决于变量的类型
- 局部变量没有默认初始值 必须显式赋值
- 可用修饰符不同
- 成员变量可以加:范围修饰符+静态修饰符+final修饰符
- 局部变量只能加final修饰符