面向对象面试题

1) 面向对象的优点?

答案

Icon

易扩展 易维护

2) 如何声名一个静态块?

答案

Icon

在类中方法外声明 static关键字+代码块

3) 接口与抽象类的区别?

答案

Icon

类是单继承的,但是可以实现多个接口
抽象类里的方法可以有实例方法也可以有抽象方法
接口里面只能有抽象方法。 详细可以点击这里

4) 用于类和接口的关键字

答案

Icon

定义类的是class,如类文件的开头都是:public class 类名{ }
定义接口的是interface,如public interface 接口名{ }
用于实现接口的是implements。

5) 如何创建数组?

答案

Icon

数组是new出来的 或者直接可以声明,

举个例子 String[] array={"1","2"};

或者String[] array=new String[10];

6) 如何创建一个构造方法?要注意哪些?

答案

Icon

构造器是为了创建一个类的实例Platypus p1 = new Platypus();
注意:方法名与类名一致

7) 类的组成 和执行顺序

答案

Icon

组成:属性 方法  静态块 非静态块

执行顺序: 先父类,后子类,静态块 静态字段 非静态块 非静态字段 构造器 方法

8) main方法必须被什么修饰?

答案

Icon

方法名必须是main 是被public static void 修饰 传入String数组

9) 如何理解面向对象

答案

Icon

世间万物皆对象,对象有具体的的实例化,任何方法或者属性都要写在对象(类)里面

10) 构造方法可否能被重写:

答案

Icon

构造方法不能被继承,因此不能重写,但能被重载。

11) 静态方法中能有静态的变量吗?

答案

Icon

不能 静态变量是类变量 不可以定义在方法里

12) String与StringBuffer的区别:

答案

Icon

String 是不可变的 可以直接使用它的方法 用来创建字符串
而 Stringbuffer无论怎么修改都是一个对象
如果在字符串改变,或者迭代改变的情况下Stringbuffer比String运行快

13) 重载(overloading)与重写(override)的区别:        

答案

Icon

1.重载发生在同一个类。 重写发生在父子类中。

2.重载参数签名不同,而重写相同且返回类型相同。

3.方法名相同,重写override是父类与子类之间多态性的一种表现,重载overload是一个类中多态性的一种表现。

 14) (= =)与equals()的区别:

答案

Icon

如果是基本类型比较,那么只能用==来比较,不能用 equals
对象间的比较使用equals ==比较的是对象中的地址 而equals比较的对象
的内容(更准确的说法是根据子类覆写的equals来比较)

16) StringBuilder和StringBuffer的区别:

答案

Icon

StringBuilder比StringBuffer更加快捷,但是StringBuilder线程不安全

17) JRE,JDK,JVM分别是什么,它们有什么联系:

答案

Icon

jre 运行时环境,jvm虚拟机 jdk java开发工具包 jvm是jre的一部分

18) 普通类继承抽象类为什么一定要重写其中的抽象方法?

答案

Icon

必须要实现的,也就是要重写,如果不实现,子类无法对象实例化。

19) 什么是拆箱和装箱?

答案

Icon

 装箱就是将基本类型转换为对象类型
拆箱就是将对象类型转换为基本类型。

20) 继承与实现的区别?

答案

Icon

继承针对类,实现针对接口。
单继承、多实现的
实现要重写接口里面的方法,而继承不需要。

21) abstract为什么不能与private,final同时使用?

答案

Icon

 抽象方法需要被子类重写 所以不能够用private final修饰

24) 继承最大好处?

答案

Icon

 可以对父类的方法进行重用,节省空间

25) 写出String类常见的5个方法,并详细解释?

答案

Icon

indexOf()返回指定字符串在该字符串出现的序列
startsWith()判断该字符串是否以指定字符开始
concat() 将指定字符串连接在该字符串的结尾
length()返回字符串的长度
substring返回该字符串从索引开始 结束于字符串末尾 或者指定索引的一个子字符串

27) 普通方法的方法名可以与类名一致吗?

答案

Icon

可以

28) 在什么情况下局部变量会覆盖全局变量?

答案

Icon

当局部变量名与全局变量名相同 类型相同

29) static 修饰的方法可否支持多态?

答案

Icon

不支持多态,如果父类声明一个对象,子类实现这边变量,那么调用static修饰的时候会调用父类的,而不是子类的.

30) 使用数组前应该注意的什么?

答案

Icon

 数组下标是否越界 对数组进行初始化


31) Java语言最大的特点?

答案

Icon

 跨平台性(一次编译,多次执行)

32) 请你说说byte short char之间可以互相转换吗?为什么?

答案

Icon

 可以通过强转,可以范围小的转范围大的,子类可以转父类,反之则不行,有可能抛类型转化异常

33) 请说说引用和对象?

答案

Icon

 对象和引用是分不开的,对象生成一个地址,引用则指向了这个地址
A a=new A();
a为引用 等号右边的是对象

34) 怎样将一个String添加到另一个String的后面?

答案

Icon

(StringBuffer ,StringBuilder)的append方法
concat

35) 有几种数据类型?

答案

Icon

 JAVA数据类型分基本数据类型和引用对象类型

36) 传参有几种类型?有几种特殊类型?

答案

Icon

 基本数据类型 引用对象类型

37) 什么是匿名类,有什么好处

答案

Icon

 匿名类没有名字的类 ,封装性好,比较安全,用了一次便可以丢弃

38) jar是什么格式的文件,有什么好处

答案

Icon

 它允许将许多class文件组合成一个压缩文件,方便管理class文件

39) java和javac,javaw各有什么作用

答案

Icon

java:运行程序
javac:编译java文件至class文件
javaw: 不需要打开dos窗口就可以运行


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值