21、面向对象的特征有:
封装:私有化属性,一个get(); 一个set(); 。
继承:子类继承父类,子类只可以继承父类可用的属性和方法。继承可以节省代码量,维护方便。
多态:指同一个实体同时具有多种形式。同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。
抽象:抽象分为抽象类和抽象方法。抽象类:无法被实例化,只能被继承。抽象方法:抽象方法只能位于抽象类中,且无代码块,且必须在子类中被实现,除非子类也是抽象 类,则可以不实现。
22、java中实现多态的机制是:父类声明对象,子类实例化对象(里氏替换原则)。
23、abstract class 和 interface 的区别: 抽象类中可以有构造方法,接口中不能有构造方法。抽象类中可以有普通成员变量,接口中没有普通成员变量。抽象类中可以包含静态方法,接口中不能包含静态的方法。一个类可以实现多个接口,但只能继承一个抽象类。
24、abstract 的method 不可以是static ,因为抽象的方法是要被子类实现的。
25、在类里面写一个类,类里面的这个类则为内部类。
26、内部类可以引用其他包含类的成员。但是如果是静态内部类,则静态的只能调用静态的。
27、匿名内部类可以继承其他类,可以实现其他接口。
28、String 不是基本的数据类型,String是类。
29、java 中的数据类型:值类型:int 、 byte、 char、 long、 float、double 、 short 、 boolean 。 引用类型: 类、接口、数组。
30、String 类是不可被继承的,因为String 被 final 修饰了。