Java api 知识点总结
1.单例设计模式:
通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问
懒汉式:先对对象进行初始化
恶汉式(延时加载用到的是恶汉式):先在堆内存中建立引用对象,但是不指向任何的引用地址,当使用new 是才将引用的地址给引用对象
2.包 (package) ,类与类,类与接口,接口与接口,抽象类与类,类与对象的异同?
包:为了更好地组织类,Java提供了包机制。包是类的容器,用于分隔类名空间。如果没有指定包名,所有的示例都属于一个默认的无名包。有包名的类不能调用无包名的类。反之可以
类:是指现实事物的描述
对象:是事物的具体个体
接口:可以理解为特殊的抽象类,不能使用class来修饰,使用interface来修饰,只能有抽象方法
抽象类:要用class来修饰,不能被实例化,abstract来修饰
.abstractclass 在Java 语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface。
里面可有非抽象方法
抽象类与一般类的区别:多了抽象函数,抽象类不可以被实例化
3.java面向对象的三个特性:
继承:提高了代码的复用性。让类与类之间产生了关系,有个这个关系,才有了多态的特性(类之间不能实现多继承,但可以多实现,(多层继承)——继承体系,想使用则先看父类,父类包含了共性功能)
1> 变量的应用本类对象的引用时用this,本类中父类对象的引用使用super
2> 函数函数的特点:(覆盖==复写)
3> 递归(没有条件的递归就是死循环,)会内存泄露异常
递归和迭代的区别:
迭代是:拿原值计算出新值(),累加
递归是:自身调用自身,递归包含迭代,计算阶乘
4> 重载和重写:重载看参数类型了参数的排列顺序,而重写必须方法名,返回值类型,参数类表都一致才能实现重写(覆写)
5> 子类的实例化过程:
Super语句一定定义在子类构造函数的第一行,
子类中的所以的构造函数,默认都会访问父类中空参数的构造函数,,因为构造函数内的第一行都有一句隐式super()
当父类中没有空参数,子类需要手动通过super语句形式来指定要访问父类中的构造函数,
子类中的第一行也可以指定访问本类中的构造函数,子类中至少有一个构造函数会访问
父类中的构造函数。
6> Final 关键字,最终,作为一个修饰符,可以修饰类函数变量,被final修饰的类不能被继承
7> 抽象类:
封装:
多态:
抽象:
抽象类的特点:抽象方法一定在抽象类中,抽象方法和抽象类都必须被abstract关键字来修饰,不能使用new来创建对象,抽象方法没意义,子类使用丑抽象类中的方法,必须复写所有的方法,否则子类也是抽象类。
java面向对象的四个特性:继承封装多态抽象(这个有的说有,有的说没有
集合的总结