1. final修饰类,方法和变量的含义。
(1)类:则该类不能被继承,例如String类。
(2)方法:该方法不能被重写。
(3)常量:一旦赋值就无法再修改。如果是地址值则地址不能修改。
2. java的多态性的三个前提:
(1)要有继承关系。
(2)要有方法重写。如果没有这个多态就没有意义,就例如new出猫和狗,不重写方法则猫和狗都是一样的。
(3)父类的引用指向子类的对象。就例如用一个父类创建一个子类对象: 动物 d=new 猫()。
3. 要注意,java中的堆不是数据结构中的堆。解释如下:
(1)java:分配给对象的内存区域。
(2)数据结构:完全二叉树,且满足任意非终端节点的值大于(或小于)左右子树。
4. 计算机数据的最小单位:比特,基本单位:字节。所以,字节流是最先有也是最常用的IO流,图片视频等文件的基本单位也是字节;字符流只是用于文本数据。
5. 面向对象思想设计原则:
(1)单一职责原则:高内聚,低耦合。即一个类只实现一个功能。
(2)开闭原则:一个对象对扩展开放,对修改关闭。借助抽象和多态。
(3)里氏替换原则:子类可以替换父类。
6. Java单例模式代码步骤:
(1)构造方法私有。同静态类使得类不不能被实例化.
(2)在需要实现单例对象的类里面创建一个对象,且此对象私有、静态。保证不被外面修改并可在静态方法中返回。
(3)对外提供静态方法返回创建的对象。为了外面能调用必须是静态方法,实例方法要实例化对象才能调用。
(4)饿汉式和懒汉式:开发用饿汉,类一加载就创建对象;面试用懒汉式,涉及到延迟加载和线程安全。runtime类是饿汉式。