面向对象——成员方法、构造方法、重载、成员变量、this关键字
1.成员方法
1.带参数的方法
带参数的work()方法可以接收用户输入的内容。创建work()方法时定义的参数叫作形参。调用方法时传入的参数叫作实参。
关键代码:
2.方法重载
概念:方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数类型或参数个数。
特点:在同一个类中;方法名相同;参数的个数或类型不同;与返回值类型无关。
示例代码:
2.构造方法以及重载
概念:构造方法的主要作用是进行一些数据的初始化
特点:构造方法没有返回值;构造方法的方法名与类名相同;默认构造方法没有参数,因此参数列表可选;
语法格式:
[访问修饰符] 方法名 ( [参数列表] ){ }
构造方法以及重载示例:
3.this关键字
概念:this关键字是对一个对象的默认引用。每个实例方法内部都有一个this引用变量,指向调用这个方法的对象。
使用举例:
(1)使用this调用成员变量,解决成员变量和局部变量的同名冲突。
public void setNames(String name){
this.name = name; //成员变量和局部变量同名,必须使用this
}
public void setName(String xm){
name = xm; //成员变量和局部变量不同名,this可以省略
}
(2)使用this调用成员方法
public void play(int n){
health = health - n;
this.print(); //this可以省略直接调用print()方法
}
(3)使用this调用重载的构造方法,只能在构造方法中使用,且必须是构造方法的第一条语句。
public Person(String name,String sex){
this.name = name;
this.sex = sex;
}
public Person(String name,int health,int love,String sex){
this(name, sex); //调用重载的构造方法
this.health = health;
this.love = love;
}
4.成员变量
(1)成员变量的作用域:直接在类中定义的变量称作成员变量,他定义在方法的外部。
(2)局部变量的作用域:局部变量就是定义在方法中的变量。
(3)成员变量和局部变量的区别:
a.作用域不一样
全局变量:在声明变量的类中,任何位置都可以调用改变变量
局部变量:写在某个方法中,只能在声明该变量的方法中调用该变量
b.初始值不同:
系统会给全局变量赋默认初始值;
系统不会局部变量赋默认初始值
c.注意事项:
在同一个方法中,不允许有同名的局部变量
在方法中可以定义和全局变量相同的局部变量(优先执行局部变量)