Java数据结构和算法_程序员必修课_面试必备_超值课程免费分享~

126 阅读3分钟

       算法是为求解一个问题需要遵循的、被清楚指定的简单指令的集合。

       数据结构是以某种形式将数据组织在一起的集合,它不仅存储数据,还支持访问和处理数据的操作。

       面试中经常会被问到这些哦下面就快来学习吧

【免费分享】超值课程-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

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

  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:打破了封装性