java常见笔试题,易犯错误区
来源:互联网 发布:js判断滚动条位置 编辑:程序博客网 时间:2024/04/27 21:25
(1)接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的。
(2)abstract class 在 Java 语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface,实现多重继承。接口还有标识(里面没有任何方法,如Remote接口)和数据共享(里面的变量全是常量)的作用。
(3)在abstract class 中可以有自己的数据成员,也可以有非abstarct的成员方法,而在interface中,只能够有静态的不能被修改的数据成员(也就是必须是 static final的,不过在 interface中一般不定义数据成员),所有的成员方法默认都是 public abstract 类型的。
(4)abstract class和interface所反映出的设计理念不同。其实abstract class表示的是"is-a"关系,interface表示的是"has-a"关系。
(5)实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法,一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。抽象类中可以有非抽象方法。接口中则不能有实现方法。
(6)接口中定义的变量默认是public static final 型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值。抽象类中的变量默认是 friendly 型,其值可以在子类中重新定义,也可以在子类中重新赋值。
Java流类图结构,一目了然
Java中的集合类型的继承关系图
下面程序能正常运行吗()
public class NULL { public static void haha(){ System.out.println("haha"); } public static void main(String[] args) { ((NULL)null).haha(); }}
答案:能正常运行
解析:输出为haha,因为null值可以强制转换为任何java类类型,(String)null也是合法的。但null强制转换后是无效对象,其返回值还是为null,而static方法的调用是和类名绑定的,不借助对象进行访问所以能正确输出。反过来,没有static修饰就只能用对象进行访问,使用null调用对象肯定会报空指针错了。
考查静态语句块、构造语句块(就是只有大括号的那块)以及构造函数的执行顺序。
class HelloA { public HelloA() { System.out.println("HelloA"); } { System.out.println("I'm A class"); } static { System.out.println("static A"); }}public class HelloB extends HelloA { public HelloB() { System.out.println("HelloB"); } { System.out.println("I'm B class"); } static { System.out.println("static B"); } public static void main(String[] args) { new HelloB(); }}
答案:
static Astatic BI'm A classHelloAI'm B classHelloB
对象的初始化顺序:(1)类加载之后,按从上到下(从父类到子类)执行被static修饰的语句;(2)当static语句执行完之后,再执行main方法;(3)如果有语句new了自身的对象,将从上到下执行构造代码块、构造器
抽象类遵循的原则:
- java常见笔试题,易犯错误区
- 常见java笔试题。。。
- java常见笔试题
- Java常见笔试题
- Java常见笔试题笔记
- 常见的java笔试题
- 常见java笔试-编程题
- JAVA泛型常见误区
- 常见易错笔试题 —— java
- 一些常见的易错笔试题(JAVA)
- java 线程中 常见笔试题
- java++常见笔试陷阱题++更新中...
- java笔试题常见知识总结
- Java笔试常见题题目及答案
- 常见的Java笔试十题
- Java常见面试题笔试题
- java:常见笔试题以及答案汇总
- java初学易犯错语总结
- BinTree::定义
- 小红帽免费酒店管理系统PMS
- 2015摩根士丹利(Morgan Stanley)实习电话面试
- 一个WordPress站点绑定多个域名
- Hadoop之——自定义分组比较器实现分组功能
- java常见笔试题,易犯错误区
- INSERTION-SORT: INTRODUCTION TO ALGORITHMS
- EL表达式 (详解)
- Hadoop学习笔记(四)---HDFS概述
- 【操作系统总结】哲学家进餐问题
- notepad++常用插件
- linux 服务器配置
- 话说Delphi XE7编写安卓APP还是不错的,一周写一个APP系统
- Hadoop学习笔记之Hive