1.谈谈你对面向对象的理解?

面向对象这种程序设计模式是将现实世界中的一切事物都看作是对象,例如,一个人是一个对象,汽车、飞机、小鸟等等,都是对象;它强调从对象出发,以对象为中心用人类的思维方式来认识和思考问题。每个对象都具有各自的状态特征(也可以称为属性)及行为特征(方法),java就是通过对对象之间行为的交互来解决问题的。

Java面向对象的三大特性是什么
封装(面向对象编程核心思想):封装就是将对象的属性和行为特征包装到一个程序单元(即类)中,把实现细节隐藏起来,通过公用的方法来展现类对外提供的功能,提高了类的内聚性,降低了对象之间的耦合性。

继承:对原有类的拓展,指从已有的类中派生新的类,新的类能够吸收已有类的数据属性和行为,并能够扩展新的功能。

多态:是在继承的基础上。是指允许不同类的对象对同一消息做出响应,根据对象创建实例的不同调用不同的方法,本质是编译时和运行时才决定对象的行为。例如,子类类型的对象可以赋值给父类类型的引用变量,但运行时仍表现子类的行为特征(在内存中运行的,new的实例)。也就是说,同一种类型的对象执行同一个方法时可以表现出不同的行为特征。

2.简述 static 和 和 final 的 用法?

static:修饰属性,方法,代码块
(1)静态属性:也可叫类变量 类名.属性名 来访问
(共有的类变量与对象无关,只和类有关)
注意:类中的实例变量是在创建对象时被初始化的,被 static 修饰的属性,也就是类变量,是在类加载时被创建并进行初始化,类加载的过程是进行一次。也就是类变量只会被创建一次。
(2)静态方法:类名.方法名 直接访问
注意:static 修饰的方法,不能直接访问本类中的非静态(static)成员(包括方法和属性)
本类的非静态方法可以访问本类的静态成员(包括方法和属性),可以调用静态方法。
修饰变量,方法,类

3.写出冒泡排序的算法

for(int i=0;i for(int j=0;j if(arr[j]>arr[j+1]){ //每次都是和它下一个元素比
int t=arr[j];
arr[j]=arr[j+1];
arr[j+1]=t;
}
}
}

4.String、StringBuffer和StringBuilder的区别?

首先说运行速度,或者说是执行速度,在这方面运行速度快慢为:StringBuilder > StringBuffer > String
再来说线程安全
在线程安全上,StringBuilder是线程不安全的,而StringBuffer是线程安全的
String:适用于少量的字符串操作的情况
  StringBuilder:适用于单线程下在字符缓冲区进行大量操作的情况
StringBuffer:适用多线程下在字符缓冲区进行大量操作的情况

5.知道定时调度的方法吗?

Timer
ScheduleExecutorSerivce
Spring

6.java有几种类型?

7.自己写过接口吗?

8.自己写过注解吗?

9.jdk和jre的区别是什么?

10.int和Integer的区别是什么?

1、Integer是int的包装类,int则是java的一种基本数据类型
2、Integer变量必须实例化后才能使用,而int变量不需要
3、Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值
4、Integer的默认值是null,int的默认值是0

11.了解过算法吗?


路过记得点赞🙃🙃