Java复习--类和对象

  • String name = “Jhon”;
    String声明的其实是创建了一个String对象 储存的是引用地址 ,而不是字符本身。
    和int a = 42; 这个语句相比 name 储存的是一个引用。
变量名内存空间
a42
name————>“Jhon”
  • String 类的对象 的length()方法 包括字符串中的空白字符。
  • 方法的递归
    1.形式:在某个方法里调用他自身这个方法。
    2.遇到问题: 遇到栈内存溢出时,先查看递归结束的
    条件本身是否有错误,若无错误,则只能手动扩大栈内存。
    例子代码:
public class test{
	public static void main(String[] args){
		int n = new java.util.Scanner(System.in);
		int result = sum (n);
		System.out.println(result);
	}
	
	public static int sum(int num){
		if(num == 1){
			return 1;
		}
		
		return num+sum(num-1);//方法的递归。
	}
}

在这里插入图片描述

  • 类和对象的栈、堆、方法区的内存使用。
  • JVM:
    1.栈:该方法需要的内存的在栈中分配,栈中最主要储存局部变量。
    2.堆:储存对象。凡是通过new出来的对象储存在堆中,堆中储存成员变量中的实例变量。
    在这里插入图片描述

  • 局部变量(在方法中声明的变量)必须声明且赋值才能访问
    对于成员变量,没有手动赋值,则赋默认值: Boolean赋false;引用数据类型 (比如string)赋null值;
  • Student s1 = new Student(); 语句左边new出了一个对象,并通过=将内存地址赋给s1,s1为引用。
  • Java中垃圾回收器GC主要针对堆内存中垃圾数据,当没有引用指向该内存时,会被回收。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值