java基础篇一学习记录
1. 一个“.java”源文件中是否可以包括多个类(不包括内部类)? 有什么限制?
可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。
2.java有没有goto?
java中的保留字,现在没有在java中使用。
3.switch语句是否能作用在byte上,能否作用在long上,能否作用在String上?
byte,short,char,int及其对应的包装类,枚举类型,String类型(jdk1.7以上支持)都行。
4.静态变量和实例变量的区别?
在语法定义上的区别:静态变量前要加一个static关键字,而实例变量前则不加。
在程序运行的区别: 实例变量属于某个对象的属性,必须创建了实例变量,其中的实例属性才会被分配空间,才能使用这个实例变量。静态变量不属于某个实例对象,而是属于类,所以也称为类的变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。总之,实例变量必须创建对象后才可以通过这个对象使用,静态变量则可以直接使用类名访问。
5.final关键字修饰一个变量时,是引用变量不能变?还是引用变量对象的内容不能变?
使用final修饰的关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。例如:
final StringBuffer strbuf = new StringBuffer("zhuguozhu");
strbuf = new StringBuffer("zhu");
当执行strbuf = new StringBuffer("zhu");将报告编译器错误。
但执行如下语句则可以通过编译:
strbuf = strbuf.append("zhu");
6.char型变量能不能存储一个中文汉字?为什么?
char型变量时可以用来存储Unicode编码的字符的,unicode编码字符集中包含了汉字,所以,char型变量中当然可以存储汉字啦,不过,如果某个特殊的汉字没有被包含在unicode编码字符集中,那么,这个char型变量中就不能存储这个特殊汉字。还有就是,unicode编码占用两个字节,所以,char类型的变量也就是占用两个字节。
态度决定一切,细节决定命运~~~