内存分析、重载、递归、面对基础

1.内存分析

堆:存放对象|数组

栈:方法运行时期局部变量的内存空间

方法区:class文件存放的地方

在这里插入图片描述

2.重载

​ 重载是在同一个类中的多个方法,方法名相同参数列表不同:参数类型不同、参数个数不同、不同类型参数顺序不同。

​ 重载的作用:实现一个功能,但是这个功能存在不同实现方式或者参数的时候,可以利用方法的重载。

​ 方法的重载就是多态的一种体现。

public class OverloadDemo02{
	
	public static void main(String[] haha){
		byte b = 1;
		test(b);
	}
	//重载
	public static void test(int i){
		System.out.println("一个int类型参数的方法test");
	}
    //参数类型不同
	public static void test(double i){
		System.out.println("一个double类型参数的方法test");
	}
	//参数个数不同
	public static void test(int i,double j){
		System.out.println("一个int,一个double类型参数的方法test");
	}//不同类型参数顺序不同
	public static void test(double j,int i){
		System.out.println("一个double,一个int类型参数的方法test");
	}
	
	public static void test2(int i,int j){
		System.out.println("2个int类型参数的方法test2");
	}
}

3.递归

​ 递归:方法自己调用自己。

​ 递归头:停止自己调用自己的条件。

​ 递归体:自己调用自己的过程代码。

使用另外一种描述就是:

​ 临界条件:停止自己调用自己的条件。

​ 递归前进段:自己调用自己直到临界条件的过程。

​ 递归后退段:从临界条件开始一直返回到调用的上一层。

public class Recursion03{
	
	public static void main(String[] haha){
		//求5!阶乘   5*4*3*2*1
        //使用for循环实现
		int result = 1;
		for(int i=5;i>=1;i--){
			result*=i;
		}
		System.out.println(result);
		
		System.out.println(rec(5));
	}
	//需求: 实现求某一个数的阶乘  使用递归实现
	//参数: int i
	//返回值: int 
	public static int rec(int i){
		if(i==1){
			return 1;
		}
		return i*rec(i-1);
	}
}

4.面对对象基础

对象:是具体的实物;

类:是对对象的抽象;

类可以看做是一个模板或者图纸,系统根据类的定义来造出对象。

4.1类的定义

定义类:就是定义类的成员,包括成员变量和成员方法;

成员变量:对应实物的属性,定义在类中和方法外;

成员方法:对应实物的行为。

//定义手机类
public class Phone{
	//成员变量
	//定义颜色
	public String color;
	//定义品牌
	public String brand;
	//尺寸
	public double size;
	//价格
	public int price;
	
	//成员方法
	public void call(){
		System.out.println("打电话...");
	}
}

4.2创建对象

对象的格式:

创建对象:

类名 对象 = new 类名();

使用对象访问类中的成员:

对象名.成员变量;

对象名.成员方法();

public class PhoneTest{
	public static  void main(String[] args){
		//1.创建对象
		Phone p = new Phone();
		
		//2.为属性赋值
		p.color = "白色";
		p.brand = "华为";
		p.size = 6.0;
		p.price = 6999;
		
		//3.使用功能
		p.call();
		
		//查询手机对象的属性值
		System.out.println(p.color);
		System.out.println(p.brand);
		System.out.println(p.price);
		System.out.println(p.size);
	}
	
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值