java工程师题目_Java工程师常见面试题

一:BigInteger

(1)针对大整数的运算:可以让超过Integer范围内的数据进行运算。

(2)构造方法

A:BigInteger(String s)

(3)成员方法(自己补齐)

BigInteger b1=new BigInteger("100");

BigInteger b1=new BigInteger("50");

A:加:b1.add(b2);//150

B:减:b1.subtract(b2);//50

C:乘:b1.multiply(b2);//500(这个面试题考过)

D:除:b1.divide(b2);//2

二:面试题:

(1)静态代码块,构造代码块,构造方法的顺序问题?

静态代码块>构造代码块>构造方法其中静态代码块(只执行一次)

(2)当Son s=new Son();时父类和子类中各种代码执行顺序。(先进行父类初始化,然后进行子类初始化)

父类静态代码块1

子类静态代码块2

父类构造代码块3

父类无参构造方法4

子类构造代码块5

子类无参构造方法6

十一:面试题

==和equals()的区别?

A:==

基本类型:比较的是值是否相同

引用类型:比较的是地址值是否相同

B:equals()

equals:Object中默认比较引用类型的地址值,而String类重写了equals()方法,比较的是内容是否相等。

三:静态变量和成员变量的区别

A:所属不同

静态变量:属于类,类变量

成员变量:属于对象,对象变量,实例变量

B:内存位置不同

静态变量:方法区的静态区

成员变量:堆内存

C:生命周期不同

静态变量:静态变量是随着类的加载而加载,随着类的消失而消失

成员变量:成员变量是随着对象的创建而存在,随着对象的消失而消失

D:调用不同

静态变量:可以通过对象名调用,也可以通过类名调用

成员变量:只能通过对象名调用

四:final修饰 局部变量

a:基本类型 值不能发生改变 ,是常量。如:final int x=10;

b:引用类型 地址值不能发生改变,但是对象的内容是可以改变的.

final Student s=new Student();

s.age=100;

如教室编号,302教室一旦被final确定,就没法改变,但是教室里的学生(值)是可以改变的。

五:两个面试题:

A:Override和Overload的区别?Overload是否可以改变返回值类型?方法重写和方法重载的区别。

方法重写:子类中出现了和父类中一模一样的方法声明。又称方法覆盖,方法复写

方法重载:本类中出现了方法名一样,参数列表不同的方法,与返回值无关。

B:this和super的区别和各自的作用?

this:代表当前类的对象引用,

super:代表父类存储空间的标识,(可以理解为父类的引用,通过这个东西可以访问父类的成员)

六:继承的好处:

A:提高了代码的复用性

B:提高了代码的维护性

C:让类与类产生了一个关系,是多态的前提

继承的弊端:

A:让类的耦合性增强。这样某个类的改变,就会影响其他和该类相关的类。

开发的原则:低耦合,高内聚。

耦合:类与类的关系

内聚:自己完成某件事情的能力

B:打破了封装性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值