java基础面试 题。

1.方法重载:方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数。就是对不同数据类型的数据实现相似的操作

重写:当一个子类继承一父类,而子类中的方法与父类中的方法的名称,参数个数、类型都完全一致时,就称子类中的这个方法重写了父类中的方法。

记住:父类的构造方法不可以被子类重写,因为父类和子类的类名是不可能一样的

2.final是最终的意思,final可用于定义变量、方法和类但含义不同,声明为final的类不能被继承

3.请讲述String 和StringBuffer的区别:

  String 类所定义的对象是用于存放“长度固定”的字符串

  StringBuffer类所定义的对象是用于存放“长度可变动”的字符串

4.   java中的抽象方法就是以abstract修饰的方法,这种方法只声明返回的数据类型、方法名称和所需的参数,没有方法体,也就是说抽象方法只需要声明而不需要实现。abstract抽象类不能用new实例化对象,abstract方法只允许声明不能实现。

抽象类与抽象方法的关系是:抽象方法必须在抽象类中,如果抽象方法不在抽象类中,则会编译报错,这个是规定的。 2.抽象类中的方法不一定要必须是抽象方法,可以有抽象方法,和非抽象方法。其中非抽象方法,往往都是抽象类的所有子类所具有的,而抽象方法则由具体的不同子类实现不同的方法 。

抽象类方法的访问权限:jdk1.8以后改成默认default

5.

顺序执行下列程序语句后,则b的值是()

String a="Hello";

String b=a.substring(0,2);

Hel       substring()方法是用来提取字符的

6.继承是单继承,具有传递性,子类向上转型无条件,

7.程序在启动的时候,并不会一次性加载程序所要用的所有class文件,而是根据程序的需要,通过Java的类加载机制(ClassLoader)来动态加载某个class文件到内存当中的,从而只有class文件被载入到了内存之后,才能被其它class所引用。所以ClassLoader就是用来动态加载class文件到内存当中用的。

8.

9.

静态方法:类方法。使用static修饰(静态方法),属于整个类的,不是属于某个实例的,只能处理static域或调用static方法; 

    在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。而实例方法只有后面这种方式。也就是说,调用静态方法可以无需创建对象

实例方法:属于对象的方法,由对象来调用。

实例化是指在面向对象的编程中,通常把用类创建对象的过程称为实例化。格式化有类名,对象名 = new 类名(参数1,参数2...参数n)

10.序列化:保存内存中对象状态的机制。java.io.Serializable接口是专门提供给类实现序列化用的

什么时候需要序列化:

(1)当你想把内存中的对象保存到一个文件或者数据库中时

(2)当你想用套接字在网络上传输对象时

(3)当你想通过RMI传输对象时

11.后置操作符

i++:先打印i,再自加。

猜你喜欢

转载自blog.csdn.net/yunwu9420/article/details/81093226