方法由返回值,方法名,参数,内容组成。
在面向对象程序中,一般方法由类所创建的对象调用,类不直接调用。这称之为非静态方法;静态方法(static)由类直接调用。
1.形参和实参
main方法中的是实参,子方法中调用的是形参。
void speak(String name){ //形参,入参
system.out.println("我叫"+name)
}
public static void main(String[] args){
People zhangsan=new People();
zhangsan.speak("张三"); //实参
}
2.方法的返回值
方法分为没有返回值的方法(void)和有返回值的方法
3.值传递和引用传递
值传递,传的是数值;而引用传递传的是对象(即相当于地址,和c里面的指针一样)
4.方法的重载和重写方法的重载:方法的名称,返回值相同,但是参数的类型和参数的个数不同,java的多态性的重要体现。
方法的重写:即override 存在于继承关系之中,也是java多态性的重要体现。
static方法:一般是工具类方法
static方法:方法属于类本身,调用方式:1.类名.方法(绝大部分情况) 2.对象.方法(不建议这么使用)
普通方法:方法属于类的对象,调用方式:对象.方法
6.递归方法递归方法:方法通过直接或间接的方式调用自己
有一个循环体,一个终止条件
int DiGui(int n,int result){
if(n==1){
return 1;
}else{
result=result*n;
n--;
}
return result;
}
7.构造方法
创建实例时,进行初始化的作用,没有返回值,和类名一样。
this关键字,表示当前对象,this可以调用本类中的属性和构造方法。(防止构造方法,内部重名,如this.name=name比name=name看上去好很多,不至于那么莫名其妙,而且后者写法也是无法正确赋值的。