面向对象面试题
2016-07-12 22:29
375 查看
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(
1261f
);
注意:方法名与类名一致
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)的[b]append方法
concat[/b]
35) 有几种数据类型?
答案
Icon
JAVA数据类型分基本数据类型和引用对象类型。
36) 传参有几种类型?有几种特殊类型?
答案
Icon
基本数据类型 引用对象类型
37) 什么是匿名类,有什么好处
答案
Icon
匿名类没有名字的类 ,封装性好,比较安全,用了一次便可以丢弃
38) jar是什么格式的文件,有什么好处
答案
Icon
它允许将许多class文件组合成一个压缩文件,方便管理class文件
39) java和javac,javaw各有什么作用
答案
Icon
java:运行程序
javac:编译java文件至class文件
javaw: 不需要打开dos窗口就可以运行
答案
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(
1261f
);
注意:方法名与类名一致
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)的[b]append方法
concat[/b]
35) 有几种数据类型?
答案
Icon
JAVA数据类型分基本数据类型和引用对象类型。
36) 传参有几种类型?有几种特殊类型?
答案
Icon
基本数据类型 引用对象类型
37) 什么是匿名类,有什么好处
答案
Icon
匿名类没有名字的类 ,封装性好,比较安全,用了一次便可以丢弃
38) jar是什么格式的文件,有什么好处
答案
Icon
它允许将许多class文件组合成一个压缩文件,方便管理class文件
39) java和javac,javaw各有什么作用
答案
Icon
java:运行程序
javac:编译java文件至class文件
javaw: 不需要打开dos窗口就可以运行
相关文章推荐
- java面试常用问题的总结
- 阿里面试题总结
- 面试相关
- JAVA 类与继承 原理 面试 笔试
- 十道海量数据处理面试题
- ButterKnife Android程序员的一大利器
- "Fragment"-Android面试必问"精华技能点"汇总
- 剑指offer面试题14:调整数组顺序使奇数位于偶数前面
- 7月12号面试小结
- Java常用排序算法+程序员必须掌握的8大排序算法+二分法查找法
- php程序员应具有的7种能力
- 剑指offer-4-解决面试题的思路
- 程序员漫画
- 程序员面试宝典--8.2递归(2)
- 程序员面试宝典--8.2递归(1)
- HR教你面试时怎么谈出高工资
- 程序员生存定律--成长路上常见的坑
- Java程序员应该知道的10个调试技巧
- 大数据面试宝典
- Java程序员修炼之道 之 Logging(3/3) - 怎么分析Log