类和对象
对象在内存中存在的形式(重点)
一、属性
成员变量 = 属性 = field(字段)(即成员变量是用来表示属性的)
注意事项和细节
对象分配机制
对象创建过程
对象机制案例:
二、方法
定义
方法调用机制
方法的使用
方法传参机制
- 基本数据类型传参机制
- 引用数据类型传参机制
递归
递归执行机制1:
public class RecursionTest01 {
public static void main(String[] args) {
T t = new T();
t.test(4);
}
}
class T{
public void test(int n){
if(n>2){
test(n-1);
}
System.out.println("n = " + n);
}
}
输出:
n = 2
n = 3
n = 4
递归执行机制2:
public class RecursionTest01 {
public static void main(String[] args) {
T t = new T();
t.test(4);
}
}
class T{
public void test(int n){
if(n>2){
test(n-1);
}else{
System.out.println("n = " + n);
}
}
}
输出:
n = 2
递归机制3:阶乘
public class FactorialTest01 {
public static void main(String[] args) {
T1 t = new T1();
int factorial = t.factorial(4);
System.out.println("factorial = " + factorial);
}
}
class T1{
public int factorial(int n){
if(n == 1){
return 1;
}else{
return factorial(n-1) * n;
}
}
}
输出:
factorial = 24
递归重要规则
案例一:
斐波那契数:1,1,2,3,5,8,13.。。。
public class FibonacciTest {
T3 t3 = new T3();
public static void main(String[] args) {
T3 t3 = new T3();
int fabonacci = t3.fabonacci(5);
System.out.println("fabonacci = " + fabonacci);
}
}
class T3{
public int fabonacci(int n){
if(n==1 || n == 2){
return 1;
}else{
return fabonacci(n-1) + fabonacci(n-2);
}
}
}
输出:
fabonacci = 5
案例二:猴子吃桃
public class MonkeyEatPeach {
public static void main(String[] args) {
T4 t4 = new T4();
int peach = t4.peach(1);
System.out.println(peach);
}
}
class T4{
public int peach(int n){
if(n==10){
return 1;
} else if (n >= 1 && n <= 10) {
return (peach(n+1)+1)*2;
}else{
return -1;
}
}
}
输出:
1534



