带参方法
使用带参方法
定义带参数的方法:
public class ZhazhiJi {
public String zhazhi ( String fruit ) {
String juice = fruit + "汁";
return juice;
}
}
<访问修饰符> 返回类型 <方法名>(<形式参数列表>) {
//方法的主体
}
参数列表:(数据类型 参数1,数据类型 参数2…)
调用带参数的方法:
/*调用zhazhi方法*/
ZhazhiJi myZhazhiji = new ZhazhiJi();
String myFruit = "苹果";
String myJuice = myZhazhiji.zhazhi(myFruit);
System.out.println(myJuice);
对象名.方法名(参数1, 参数2,……,参数n)
调用方法,传递的参数要与参数列表一一对应。
使用带参方法:
- 形参和实参数据类型要一致;
- 形参与实参数量要一致;
- 地阿婆用方法后要对返回值进行处理。
用面向对象描述世界
第一步:发现类;
第二步:发现类的属性;
第三步:发现类的方法。
类图:
构造方法
构造方法无返回值类型,构造方法名与类名相同:
访问修饰符 构造方法名 ( ) {
//初始化代码
}
(1) 隐式构造(默认): 系统默认提供隐式无参构造方法,但是有了自定义构造器后,将被覆盖;
(2) 无参构造:参数列表中无参数;
(3) 带参构造:参数列表中有一个或多个参数。
构造方法重载
自定义多个构造方法为方法重载:
public Penguin () {
name = "qq";
love = 20;
sex = "Q仔";
}
public Penguin (String name,int health,int love,String sex ) {
this.name = name;
this.health = health;
this.love = love;
this.sex = sex;
}
this关键字是对一个对象的默认引用,这里用以区分同名成员变量
方法重载:
- 方法名相同;
- 参数数据类型或参数个数不同;
- 与返回值、访问修饰符无关。
赋值顺序:
创建对象后赋值>构造器赋值>成员变量赋值
static,final关键字
用static定义变量为类变量,在类内部可以在任何方法内调用,在其它类中可以通过类名直接访问,在内存中只有一个拷贝。
用final修饰的变量称为常量,其值固定不变。
用static定义的方法为静态方法,可通过类名直接调用,如果是同一个文件,直接调用,静态方法中不能使用this和super,不能访问所属类的实例变量和实例方法,可直接访问类的静态变量和静态方法。
static修饰代码块为静态代码块,随着类的加载而加载,优先于对象创建。
在方法中无法定义静态局部变量,静态方法中的变量必须是静态修饰。
加载顺序:
静态代码块>构造器>成员变量赋值
面向对象三大特征之一——封装
封装:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问;可以解决属性随意访问;通过该类提供的方法来实现对隐藏信息的操作和访问。
封装步骤:
- 修改属性可见性,把属性设为private;
- 创建公有getter/setter方法,用于属性的读写;
- 在getter/setter方法中加入控制语句,对属性值的合法性进行判断;
具体实例:
class Dog {
private int health = 100; // 健康值
public int getHealth() {
return health;
}
public void setHealth (int health) {
if (health > 100 || health < 0) {
this.health = 40;
System.out.println("健康值应该在0和100之间,默认值是40");
} else
this.health = health;
}
}