Java 知识点

面向对象

instanceof

a instanceof b

要编译通过, 需满足:a编译时类型与b相同,或者a是b的父类,或者a是b的子类

 编译通过后,进入运行时,返回结果与a实际引用的类型有关。 a实际引用的对象是b的实例或者子类,实现类的实例,则返回true.

 内部类

系统在编译阶段总会为非静态内部类的构造器增加一个参数,该参数为此内部类的外部类。

static

使用静态内部类时,应尽量考虑使用静态内部类。静态内部类不能访问外部类非静态成员。

 

abstract class和interface有什么区别?

下面比较一下两者的语法区别:
1.抽象类可以有构造方法,接口中不能有构造方法。
2.抽象类中可以有普通成员变量,接口中没有普通成员变量
3.抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的普通方法。
4. 抽象类中的抽象方法的访问类型可以是public,protected和(默认类型,虽然
eclipse下不报错,但应该也不行),但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型。
5. 抽象类中可以包含静态方法,接口中不能包含静态方法
6. 抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static final类型,并且默认即为public static final类型。
7. 一个类可以实现多个接口,但只能继承一个抽象类。
posted @ 2014-07-28 13:44  DET橙  阅读(90)  评论(0)    收藏  举报