Java基础之方法

1.方法的命名

修饰符列表 返回值类型 方法名(参数列表){方法体}

修饰符包括访问修饰符(权限控制)与非访问修饰符,修饰符列表可以一个,多个也可以没有,权限修饰符只能写一个;修饰符没有先后顺序

权限控制:public        protected        default(默认)        private

非访问修饰符:static        final        abstract        synchronized等

方法:包含许多代码,一堆代码的集合,可以执行一个功能

要符合命名规范:用大小写字母,数字,下划线,$,数字不能开头,不能为关键字与保留字,最好见名知意,驼峰命名用

方法优点:代码复用,方便维护,易扩展,灵活

方法不调用便不会执行,被调用时将结果返回给调用处

2.分类

静态方法    static修饰的方法        调用:类名.方法名(参数),如果调用当前类的静态方法也可以                                                                      省略类名

成员方法    非static修饰的方法               对象.方法名(参数)

	public int returnInt() {
		System.out.print("成员方法");
		return 2;
	}

	public static String returnString() {
		return "静态方法";
	}

构造方法    与类名相同,无返回值         new 方法名(参数)(待补充)

3.入参和出参

入参: 参数列表

出餐: 返回的数据

4.内存

静态区\方法区:存放静态资源文件,静态方法,静态成员,class文件

虚拟机栈 :执行方法,当执行方法时,会在栈中开辟一块内存空间(栈帧)压栈,方法执行完毕,弹出栈空间,栈帧销毁。

根据栈 数据结构,先进后出,创建的内存空间

栈底元素:第一个进去的栈帧        栈顶元素:最后进去的栈帧

栈帧:每个元素

压栈:元素进栈                                弹栈:元素出栈

堆:存放对象,成员变量,成员方法

5.递归

直接递归:自己调用自己

间接递归:两个方法互相调用

递归与循环等价,也需要满足循环三要素,起始值,终止条件,步长

可能会造成栈溢出错误(StackOverFlowError),因为一直压栈,不弹栈。

练习:斐波那契数列---1 1 2 3 5  8  13  21  34。。。

//按照次数进行递归
public static int feiQi(int count) {
	if(count==1||count==2) {
		return 1;
	}
	return feiQi(count-1)+feiQi(count-2);
}

练习:1-100数加和

	public static void main(String[] args) {
		System.out.print(add(100));
	}
	public static int add(int number) {
		if(number==1) {
			return 1;
		}
		return number+add(number-1);
	}

6.方法的重载

重载:方法名相同,参数列表不同的方法(数据类型或者个数不同)

优点:使用方便,相同功能

public static void hello(String people) {
	System.out.print(people);
}

public static void hello(int number) {
	System.out.print("");
}

public static void hello(float xiaoShu) {
	System.out.print("");
}

public static void hello(int number,float xiaoShu) {
	System.out.print("");
}

补充:程序运行时,jvm开机,将所运行的类加载到静态区,如何调用该类的main方法,执行里面的代码,如果main方法里面调用了别的类的方法,则会先将被调用方法的类加载到静态区,然后再栈内存中开辟空间(栈帧),从上到下执行代码,执行完毕的方法将会弹栈,知道main方法执行完毕,弹栈,栈帧销毁,程序执行结束。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值