1.JAVASE基础部分
.面向对象的特征有哪些方面
封装,继承,多态
.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?
可以包含多了类,但是只能有一个Public修饰的类,且此类名要跟源文件名相同
.说说&和&&的区别
&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,只要一方为false,结果为false。&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式。
&还可以用作运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,0x31&0x0f的结果为0x01
.break和continue
break用于完全结束一个循环,跳出循环体执行循环后面的语句。
contineue结束本次循环,继续下一次循环
.short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
s1被定义为short类型 s1+1会被强制转换成int类型,再赋值给s1会报类型转换异常。
s1+=1是Java的复合赋值操作符,复合赋值表达式会自动将计算结果转换成左边的变量类型。
.String s = new String("123")创建了几个对象
两个对象,堆内存中一个,字符串常量池中一个
.静态变量和实例变量的区别?
在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。
在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。
静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。
总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。
.基本数据类型和包装类的关系
Java是面向对象的语言,但是Java中的基本数据类型却不是面向对象的,为了使用的方便,为每一个基本数据类型设计了一个对应的类来代表。这些类的用途主要包含两种: a、作为和基本数据类型对应的类类型存在,方便涉及到对象的操作。 b、包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操作方法。