面向对象基础

递归方法

定义: 一个方法在执行过程中调用自身, 就称为 “递归”。

递归方法优缺点

关于Java递归方法需要注意以下几点:

  • 递归方法可以使用重复方法、少量代码,即可实现复杂功能的实现;

  • 递归方法一定要有出口,否则无限递归调用,直到出现StackOverflowError(栈内存溢出)错误;

  • 递归方法的递归次数也不能过多,否则同样出现StackOverflowError(栈内存溢出)错误;

  • 递归方法都可以使用非递归方法解决,比如循环。

示例

求 N! 

public class RecursiveTest {
	public static void main(String[] args) {
		// 调用递归方法,求n的阶乘
		int res=getRecursive(5);
		System.out.println(res);	
	}
	// 递归方法,求n的阶乘
	public static int getRecursive(int n) {
		if(n==1) { // 如果为1的时候,就跳出,不再递归
			return 1;
		}else {
			 // n非1的情况下,继续调用本身,获取前一个数的递归结果
			 int res=n*getRecursive(n-1);
			 return res;
		}
	}
}

 

构造方法

构造方法介绍

定义:就是类构造对象时调用的方法,主要用来实例化对象。构造方法分为无参构造方法、有参构造方法。

说明:

  • 构造方法是类的一个特殊成员方法;

  • 构造方法作用:(1)构造出来一个类的实例 (2)对构造出来个一个类的实例(对象)初始化;

  • 构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有;

  • 类中必定有构造方法,若不写,系统自动提供一个无参构造方法;而一旦提供了有参构造方法,就不再提供默认的无参构造方法;

  • 构造方法存在重载,比如无参构造方法和有参构造方法;

  • 构造方法就是来创建对象的,使用new关键字,然后根据提供的构造方法进行选择构造即可。

public class Student {
	// 成员变量
	String username; 
	int age;
	// 构造方法
	public Student() {
		System.out.println("这是一个无参构造方法");
	}
	public Student(String username, int age) {
		this.username = username;
		this.age = age;
		System.out.println("这是一个有参构造方法");
	}
	// 成员方法
	public void study(String username) {
		System.out.println(username+"在学习");
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值