本帖最后由 冯培军 于 2012-9-14 20:30 编辑
package it.heima.com;
class Person {
private int age;
// set是给一个对象的属性赋值,所以并没有返回结果,应该修改为void
// public int setAge(int i)
public void setAge(int i) {
if (i < 0 || i > 130)
return;
age = i;
}
public int getAge() {
return age;
}
}
public class Test04 {
public static void main(String[] args) {
//代码执行过程如下
/**
* 创建一个对象,调用默认的构造方法初始化对象,此时age的属性是0
* 调用对象的方法setAge给对象赋值,因为3不符合条件,所以将变量3复制给age,此时对象的age=3
* 再次调用对象的setAge给对象赋值,因为-6符合条件,执行了if里面的语句,直接return,跳出方法,所以此时的age=3;
* 所以最终输入3,
* 美女可能问的是 return不是表示返回,应该有返回类型,如果是return 不能用void,
* 如果没有具体的返回类型,不明确的时候可以用关键字void表示,return语句则可以省略。(这个是重点)
* 其实return还有另外一个功能,类似于break,跳出此方法。break是跳出当前循环
*/
Person p1 = new Person();
p1.setAge(3);
p1.setAge(-6);
System.out.println(p1.getAge());
}
}
另外,给你说说函数的特点
函数的定义
明确一:定义此函数的返回值是什么,其实明确函数的返回类型。 明确二: 定义此函数是否需要未知内容参与运算,其实就是明确此函 数的参数列表。 注意返回值类型和参数类型没有直接的关系。一般定义函数只要功 能,关于调用者怎么使用,跟函数没关系,他要的只是功能。(定义函数 只操作数据,输出不输出有外部决定) 第二,函数中只能调用函数,不可以在函数内部定义函数。 第三,如果没有具体的返回类型,不明确的时候可以用关键字void 表示,return语句则可以省略。 |