1.final修饰的类不能被继承, 其中所有的方法都不能被重写但是可以重载 2.final修饰的方法不能被重写, 但是子类可以用父类中final修饰的方法 3.final修饰的成员变量不可变2.static关键字?
1.static修饰的成员方法叫静态方法, 在静态方法中不能访问类的非静态成员变量和非静态成员方法,因为需要依赖对象 2.static修饰的变量叫静态变量,静态变量被所有对象共享,在内存只有一个副本 一个成员变量被static和final同时修饰就是常量 3.static形成静态代码块优化程序性能3.finally,finalize?
finally:一般作用于tyr-catch代码块中,在处理异常时,将一定要执行的代码放在finally代码块中 finalize:Object类的一个方法,而Object类是所有类的父类,该方法一般由垃圾回收器调用4.String,StringBuffer,StringBuilder?
String:底层使用一个不可变的字符数组private final char value[]; StringBuffer:线程安全,效率较低 StringBuilder:线程不安全,效率较高 因为他们的append()方法中是否有同步锁5.接口和抽象类?
抽象类: 1.被abstract关键字修饰的类/方法叫抽象类/方法 2.抽象方法只有方法的声明,没有方法体 3.抽象类不能被实例化只能被继承 4.包含抽象方法的一定是抽象类,反之不一定 5.抽象类中的抽象方法的修饰符只能为public或protected,默认为public 6.一个子类继承一个抽象类,则子类必须实现父类的抽象方法,否则子类也必须定义为抽象类 7.抽象类可以包含属性,方法,构造方法,但是构造方法不能用于实例化,主要是被子类调用 接口: 1.被interface关键字修饰 2.接口可以包含变量,方法 3.接口支持多实现:一个接口/类可以extends多个接口6.面向对象三大特性?
1.封装: 将类的信息隐藏在类内部 不允许外部程序直接访问 而是通过该类提供的方法来实现访问 2.继承: 3.多态7.ArrayList和linkedList
1.ArrayList的实现是基于数组(可以动态扩容的数组),linkedList的实现是基于双向链表。 2.对于随机访问,ArrayList优于linkedList 3.对于插入和删除 *** 作,linkedList优于ArrayList 4.linkedList比ArrayList更占内存
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)