Java学习笔记

package com.hust;


public class TestMain {


/**
* @param args
*/
public static void main(String[] args) {


// 第一题
Integer a = 1000, b = 1000;
Integer c = 100, d = 100;
System.out.println(a == b);
System.out.println(c == d);
// 解释:
// 1、首先Integer是一个类,和基本数据类型int是不同的;
// 2、其次,Integer a = 1000 和 int a = 1000是不同概念的;具体区别在于,前者是一个引用类型,而后者只是一个自动变量,它完全没有类的概念和引用对象。
// 3、那么我们就可以知道,此处的a和b都是引用类型,指向堆中不同的内存区域;明显地,a和b是不等的;
// 4、但是在Integer包装类中,对于在-128到128之间的数,会单独用一个256大小的固定数组存储,所以此处的c和d是指向同一个数组元素,明显相等。


// 第二题
String s1 = "abc";
String s2 = "abc";
String s3 = new String("abc");
System.out.println(s1 == s2);
System.out.println(s1 == s3);
// 解释
// 1、首先,String并不是基本数据类型,所以s1、s2、s3是三个引用类型;
// 2、其次,注意String使用直接等于和new关键字是不同,前者是把值存放在常量池,后者是把值存放在堆中。
// 3、接下来,我们需要明白,常量池就像一个集合,里面的元素是互异的,并且每个元素的地址是唯一的;然而,堆却是严格按照new关键字的,一个new就在堆中分配一个地址,不管内容是否相同;


// 第三题
TestMain testMain = new TestMain();
testMain.mRun("luopan");


}


// 解释
// 1、首先,内部类和局部变量的概念;此处,回忆一下成员变量,描述类的属性,也是全局变量;那么,局部变量定义在局部范围,生命周期与范围绑定。
// 2、根据定义,这里的String name 就是mRun()方法的局部变量。为什么参数要加final关键字?
// 3、在这个方法里面有一个内部类,如果内部类要访问方法的局部变量,那么这个局部变量必须使用final关键字修饰。
// 4、在这里,name的生命周期与方法mRun()绑定,当方法执行完毕之后,这个局部变量name 是要被释放的。
// 5、这个函数里面是一个延时1秒,1秒之后,这个方法早就执行完毕,同时所有的局部变量都已经被销毁,如果还要访问,那就要bug了。
// 6、使用final关键字以后,相当于把局部变量的复制品保存下来,原件销毁,需要访问,就调用复制品。
public void mRun(final String name) {

new Runnable() {


public void run() {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(name);
}
}.run();
}


}
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值