java第五天
来源:互联网 发布:优化改进的英文 编辑:程序博客网 时间:2024/05/20 18:49
函数的重载
- 当定义的功能相同时,但参与运算的未知内容不同。
当函数名相同时,通过参数列表不同(参数列表数量或者参数类型)来区分多个同名的函数,
public static void a(int n1)
{
System.out.print("重载函数1");
}
public static void a(int n1,int n2)
{
System.out.print("重载函数2");
}
public static void main(String[] args)
{
a(1);将会调用重载函数1
a(1,2);将会调用重载函数2
} - 还有一个值得注意的是
当你定义了一个同名函数,相同参数列表数量,类型,但唯一不同的是返回值,如下
public static int a(int n)
{
System.out.print("当与重载函数1或重载函数2相同存在时,会发生错误,因为当你重载函数时,系统无法识别你所需要一个怎么样的返回值是int 还是char")
}
数组
- 格式:元素类型[] 数组名=new 元素类型[元素个数或数组长度];
元素类型[] 数组名=new 元素类型[元素个数或数组长度]{定义数据内容};
int[] x=new int[3];//定义存储三个整数的容器 - 剖析内存
局部变量只在栈内存
*默认初始化值
定义int 为0
定义double为0.0
x=null;//这样定义将不存在指向地址,即左右两边无法进行连接使用了。 - 出现两个引用时,如图描述的代码将不存在垃圾
*垃圾的定义
在C++中,对象所占的内存在程序结束运行之前一直被占用,在明确释放之前不能分配给其它对象;而在Java中,当没有对象引用指向原先分配给某个对象的内存时,该内存便成为垃圾。JVM的一个系统级线程会自动释放该内存块。垃圾回收意味着程序不再需要的对象是”无用信息”,这些信息将被丢弃。当一个对象不再被引用的时候,内存回收它占领的空间,以便空间被后来的新对象使用。事实上,除了释放没用的对象,垃圾回收也可以清除内存记录碎片。由于创建对象和垃圾回收器释放丢弃对象所占的内存空间,内存会出现碎片。碎片是分配给对象的内存块之间的空闲内存洞。碎片整理将所占用的堆内存移到堆的一端,JVM将整理出的内存分配给新的对象。
上图是地址依然具有引用的。
当你new了两个地址时,分别由x和y引用,
int[] x=new int[3];//在堆中创建了第一块地址,比如0x0001,然后把地址给了x
int[] y=new int[3];//在堆中创建了第二块地址,比如0x0002,然后把地址给了y
y[1]=89;//0x0002有y引用,不存在垃圾
x=null;//此时把x置空了,就是当初在栈中x存有0x0001地址名清空了,0x0001没有对象(x)去引用他,此时存在垃圾。
- 数组越界(出现不存在的角标)
int[] x=new int[3];//创建了[0][1][2]
System.out.printIn(x[3]);//使用一个不存在的数组,编译不会出现错误,当运行会出现错误,错误提示为
ArrayIndexOutOfBoundException 空指针异常
当引用没有任何指向值为Null的情况
int[x]=new int[3];
x=null;
System.out.printIn(x[1]);
编译不会出现错误,当运行会出现错误,错误提示为
NullPointerExcertion
0 0
- 学习JAVA第五天
- java第五天 API
- Java第五天
- Java学习第五天
- java-第五天
- java第五天
- JAVA 学习第五天
- Java 基础 第五天
- Java第五天
- 学习JAVA第五天
- Java第五天复习
- Java第五天
- JAVA 第五天
- JAVA基础第五天
- java基础第五天
- JAVA学习第五天
- java第五天
- java第五天
- HDOJ 1418-抱歉【找规律】
- 自然语言处理的一些工具
- 欢迎使用CSDN-markdown编辑器
- [转载] Java ArrayList、LinkedList、Vector比较
- 【慕课笔记】2-1 File类常用API介绍
- java第五天
- hdu 5112 A Curious Matt(排序)
- 通过本地的eclipse中的java访问远程Linux中的HDFS需要注意的问题.
- 安装node.js,解决ionic安装
- hdu 1017
- awstats分析apche日志
- hdoj 2104 hide handkerchief(辗转相除法)
- BASH入门
- Android Mediaplayer 三种从资源文件中获取数据播放