面向对象面试题

1) 面向对象的优点?

答案

Icon

易扩展 易维护,面向对象三大特征(封装,继承,多态....)

2) 如何声名一个静态块?静态块有什么好处

答案

Icon

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

对于一些必须要初始化的代码,必须是写在静态块里面,如果写在构造器里面,有多个构造器的时候不一定执行初始化.

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

答案

Icon

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

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

答案

Icon

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

5) 如何创建数组?要注意那些事项?

答案

Icon

1.数组是对象,可以new:

String[] array=new String[10];

2.或者直接可以声明:

  String[] array={"1","2"};

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

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

答案

Icon

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

7) 类的组成和执行顺序?

答案

Icon

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

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

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

答案

Icon

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

9) 如何理解面向对象?

答案

Icon

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

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

答案

Icon

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

12) String与StringBuffer,StringBuilder的区别?

答案

Icon

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

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

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

答案

Icon

1.重载发生在同一个类,不同的方法里面。 重写发生在父子类中,签名完全相同的方法里面。

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

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

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

答案

Icon

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


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

答案

Icon

JRE是运行时环境,JVM是虚拟机 ,JDK是JAVA开发工具包,JVM是JRE的一部分

19) 什么是拆箱和装箱?

答案

Icon

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

20) 继承最大好处?

答案

Icon

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

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

答案

Icon

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

22) Java语言最大的特点?

答案

Icon

 跨平台性(一次编译,多次执行,一般Window下开发,在Linux下面部署)

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

答案

Icon

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

24) 请说说引用和对象?

答案

Icon

对象和引用是分不开的,对象生成一个地址,放在堆里面,

引用则指向了这个地址,放在栈里面
User user=new User();
user为引用 等号右边的是对象

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

答案

Icon

如果是遍历追加,用(StringBuffer ,StringBuilder)的append方法
否则用String的concat方法,或者+号

27) 有几种数据类型?

答案

Icon

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

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

答案

Icon

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

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

答案

Icon

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

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

答案

Icon

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

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

答案

Icon

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




  • 12
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值