java基础笔记_day7_23

==与equals()方法的区别

  1. 比较的是基本数据类型时
    ==就是比如这两个数值是否相等,而equals()方法是用来比较引用类型的,所以基本数据类型没有equals方法,也就是说没有int.equals()这种写法。

  2. 比较的是引用数据类型时
    ==比较的是这两个对象的内存地址是否一致,是否指向同一个对象实例。而equals()一般是需要被重写,如果没有被重写就按照 ==的规则去使用

方法的重写(overriding)和重载(overloading)的区别

重写:子类对父类方法功能的扩写

区别点重写重载
参数列表一定不能修改必须修改
返回值类型一定不能修改可以修改
异常可以减少或者删除,不能抛出新的或者更广的异常可以修改
访问一定不能做出更严格的限制可以修改
多态性表现父类与子类之间一个类之间

JVM内存划分

在这里插入图片描述

方法参数值传递与地址传递

当方法参数是基本数据类型时,是值传递,只传递值,方法中的变量改变跟主方法中变量改变没有关系。
当方法参数是引用数据类型时,传递的是地址
例:public static void main(String[] args) {
/**
* 方法的参数是基本数据类型时,是值传递
/
int a = 1;
int b = 2;
System.out.println(“a=”+a);//1
System.out.println(“b=”+b);//2
change(a,b);
System.out.println(“a=”+a);//1
System.out.println(“b=”+b);//2
/
*
方法的参数类似是引用数据类型时,传递的是地址
/
int[] arr = {1,2,3};
change1(arr);
System.out.println(arr[0]);//200
}
public static void change(int a,int b){
/

* 该方法中的a和b与main方法中的a和b不是一回事,没有半毛钱关系
*/
a = a+b;//3
b = b+a;//3
}

数组的空指针异常

当引用数据类型不指向任何一块内存空间,而又要访问其内存空间时就会报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值