1.面向对象的特征有哪些
封装:是指将数据和他的数据处理过程包装起来,隐藏类的内部细节
继承:新创建的类继承现有类的成员属性和方法,提高代码复用和扩展性
多态:两个特征向上造型和向下转型,一个将父类型的对象指向子类型的引用,另一个将父类型的引用强转为子类型的引用
2.访问修饰符有哪些,他们有什么区别
private 只有本类
default 只有同包类
protected 只有同包类及其他包子类可使用
public 在所有类均可使用
3.float f = 3.4; 是否正确?
float f=3.4f;
4.short s1 = 1; s1 = s1 + 1;有错码? short s1 = 1; s1+=1;有错吗?
前者有错改成 s1= (short)(s1+1)等同于后者
5.Java有没有goto?
保留关键字
goto
const
6.&和&&的区别
逻辑运算短路与 &&
&表达两种意思
一种是运算&
一种是
7.解释内存中栈(stack)、堆(heap)和方法区(method area)的用法
栈stack中存入变量名 变量地址 变量类型
堆heap中存入变量值
方法区
8.switch是否能作用在byte上,能否作用在long上,能否作用在String上?
byte short int char
9.用zuiyouxiaolv的方法计算2乘以8
System.out.print(2*8);
10.在Java中,如何跳出当前的多重嵌套循环
OUT:
循环体
break OUT;
11.构造器是否可以被重写?
不可以,构造器不能被继承,父子类不存在同一构造方法来进行方法覆盖重写
12.重写和重载的区别,重载的能法能否根据返回值类型进行区分?
重写☞方法签名一致只有方法体不同 是父子类中的
重载☞方法签名不一致其他都一样 是一个类当中的特殊方法 没有返回值 ,方法名是类名
13.【华为面试题】为什么不能根据返回类型来区分重载?
重载目的是为了创建实例对象,不能返回给未创建对象数据类型。
14.阐述静态变量和实例变量的区别
静态变量有默认值,不可以被改变;
实例变量是创建出来的变量,可以改变类型 ,值 ,地址
15.一个“.java”源文件中是否可以包含多个类?有什么限制
只有一个public类 并且public修饰的类名与java文件名一致
其他类可以有多个
16.用Java写一个折半查找
二分查找
arr[ 9 ] = { 1,3,4,5,2,6,9,7,8};
int number = arr.length;
for ( int i = 0 , i < arr .length , i++){
int a = arr[ number/2 ]
if ( arr[i] > a ){
arr[ number/2 ] = arr [i ];
arr [ i ] = a;
}