欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java基础面试题

程序员文章站 2024-03-21 22:35:46
...
		javaSE基础


一、面向对象都有哪些特征,以及你对这些特征的理解

封装:封装就是隐藏类中的东西,对外部不可见,保护类中的操作不被直接访问。
继承:继承就是子类继承父类中非私有的信息,包括属性和方法。
多态:多态就是不同类的对象,对同一消息作出不同的响应。多态分为编译时的多态和运行时的多态。方法重载实现的是编译时的多态,而方法重写实现的是运行时的多态。


二、访问修饰符public private protected default的区别

private	只能在当前类中访问
default	在当前类和同一个包中访问
protected	在当前类、同一个包中、子类中访问
public	在当前类、同一个包中、子类、其他包中都能访问


三、java的基本数据类型都有哪些各占几个字节?

byte	1个字节		float	4个字节
short	2个字节		double	8个字节
int		4个字节		char	2个字节
long	8个字节		boolean	1个字节


四、重写和重载的区别

重载:重载是发生在同一个类中,方法名相同,参数不同,参数包括(个数,类型,变量类型的顺序)
重写:重写就是发生在继承过程中,方法名相同,参数相同,返回值类型相同。而且子类的访问修饰符绝对不能小于父类的访问修饰符。


五、静态变量和实例变量的区别

静态变量: 是被static修饰的变量,也称为类变量,它属于类,不属于类的任何一个对象,一个类不管创建多少个对象,
      静态变量在内存中有且仅有一个拷贝。
实例变量: 必须依存于某一实例,需要先创建对象然后通过对象才能访问到它。


六、java中实现多态的机制是什么

靠的是父类或接口定义的引用变量可以指向子类或具体实现类的实例对象,而程序调用的方法在运行期才动

态绑定,也就是内存里正在运行的那个对象的方法,而不是引用变量的类型中定义的方法。

七、静态嵌套类和内部类的不同

静态嵌套类:它可以不依赖于外部类实例被实例化。
内部类:需要在外部类实例化后才能实例化。


八、当一个对象被当做参数传递到一个方法后,此方法可改变这个对象的属性,

并可返回变化后的结果,那么这里到底是值传递还是引用传递?

是值传递。Java 语言的方法调用只支持参数的值传递。       当一个对象实例作为一个参数被传递到方法中时,参数的

值就是对该对象的引用。对象的属性可以在被调用过程中被改变,但对象引用的改变是不会影响到调用者的。

九、抽象类和接口的区别

1.抽象类中可以定义构造方法,接口中不能定义
2.抽象类可以有抽象方法、具体方法和静态方法,接口中方法全部都是抽象方法
3.抽象类中的成员可以是 private、默认、protected、public,接口中的成员全都是public的
4.抽象类中可以定义成员变量,接口中定义的成员变量实际上都是常量
5.一个类只能继承一个抽象类,一个类可以实现多个接口