面向对象
第二章,方法与方法重载
1,如何使用带参数方法
-
定义带参数的方法
<访问修饰符> 返回类型 <方法名>(<形式参数列表>) { //方法的主体 }
-
调用带参数的方法
对象名.方法名(参数1, 参数2,……,参数n)
2,方法传参
- 基本数据类型和引用数据类型数据在传参时区别
- 基本数据类型,操作传递的是变量的值,改变一个变量的值不会影响另一个变量的值。
- 引用数据类型(类、数组和接口),赋值是把原对象的引用(可理解为内存地址)传递给另一个引用
3,构造方法
- 构造方法模版
/**
*无返回值类型
*方法名与类名相同
*可以指定参数
*/
访问修饰符 构造方法名 ( ) {
//初始化代码
}
-
构造方法的作用
- 对象的初始化
- 系统提供默认无参构造方法
-
构造方法的重载
- 自定义构造方法
- 方法名相同
- 参数项不同
- 与返回值、访问修饰符无关
- 此时系统不再提供默认的无参构造方法
例:
- 自定义构造方法
public Student(){}
public Student(String name,int age){
this.name=name;
this.age=age;
}
//带参构造方法this关键字是对一个对象的默认引用这里用以区分同名成员变量
4,this关键字
-
this关键字的用法
//调用属性 this.health = 100; this.name = "大黄"; //调用方法 this.print(); //调用构造方法 //如果使用,必须是构造方法中的第一条语句 this(); this("小黑",100,100,"雄");
5,方法重载
- 同一个类中
- 方法名相同
- 参数个数或类型不同
- 与返回值、访问修饰符无关
6、成员变量和局部变量
- 变量声明的位置决定变量作用域
- 变量作用域确定可在程序中按变量名访问该变量的区域
//错误示例:
//…
for(int a = 0; a < 4; a++) {
System.out.println ("hello" );
}
System.out.println ( a );
//…
//!!!!!注意!!!!!------代码错误,a的作用域仅在for循环中
-
成员变量和局部变量的区别
-
作用域不同
- 局部变量的作用域仅限于定义它的方法
- 成员变量的作用域在整个类内部都是可见的
-
初始值不同
-
Java会给成员变量一个初始值
-
Java不会给局部变量赋予初始值
-
-
注意:在同一个方法中,不允许有同名局部变量在不同的方法中,可以有同名局部变量;在同一个类中,成员变量和局部变量同名时,局部变量具有更高的优先级
-