JavaSE知识点总结.docx
一 java语法根底:JDK:Java Development Kit java开发工具包JRE:Java Runtime Environment 运行环境1. 关键字:2. 保存字:Java的8种根本数据类型: byte short int long float double boolean char有对应的对象包装类。 自动装箱 int 转化为Integer自动拆箱 Interger转化为 int二 面向对象1 匿名对象:new Student(); 非匿名对象:Student stu = new Student();使用场景: 1.当对方法只进展一次调用的时候,可以使用匿名对象。 2.当对象对成员进展屡次调用时,不能使用匿名对象。必须给对象起名字2 成员变量:对应的其实就是事物的属性成员函数:对应的其实就是事物的行为3 成员变量和局部变量的区别:1. 成员变量直接定义在类中局部变量定义在方法中,参数上,语句中。2. 成员变量在整个类中都有效。但是局部变量只在自己所属的大括号内有效,大括号完毕,局部变量失去作用域。3. 成员变量存在于堆内存中,随着对象的产生而存在,消失而消失。局部变量存在于栈内存中,随着所属区域的运行而存在,完毕而释放。4 面向对象的三大特征:封装 继承 多态封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。好处:将变化隔离,便于使用,提高重用性,平安性。封装原那么:将不需要对外提供的内容都隐藏起来,把属性隐藏,提供公共方法对其访问。this:代表对象。就是所在函数所属对象的引用。 哪个对象调用了this所在的函数,this就代表哪个对象,就是哪个对象的引用。 static: “static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创立任何对象的前提下,仅仅通过类本身来调用static方法。这实际上正是static方法的主要用途。 方便在没有创立对象的情况下来进展调用方法/变量。 被static关键字修饰的方法或者变量不需要依赖于对象来进展访问,只要类被加载了,就可以通过类名去进展访问。继承:java中只支持单继承,不支持多继承。一个类只能有一个父类。 Java支持多重继承。A继承于B,B继承于C,C继承于D。 简单:对于一个继承体系的使用,查阅顶层父类中的内容,创立最底层子类的对象。 this:代表是本类类型的对象的引用。 Super:代表的是子类所属的父类中的内存空间引用 Super和this不能同时出现在同一个构造函数中。两个语句都只能有一个定义在第一行,所以只能出现其中一个。并且一定得定义在第一行两者都是调用构造函数,构造函数用于初始化,所以初始化的动作需要先完成。Final关键字:特点:1.是个修饰符,可以修饰类,方法,变量。 2.被final修饰的类是一个最终类,不可以被继承。 3.被final修饰的方法是一个最终方法,不可以被覆盖。 4.被final修饰的变量是一个常量,只能够赋值一次。 子父类中通常是不会出现同名成员变量的,因为父类中只要定义了,子类就不用在定义了,直接继承过来用就可以了。多态:某一种事物有不同的具体的表达。表达:父类的引用或者接口的引用指向了自己的子类对象。Animal a = new Cat();父类可以调用子类中覆写过的父类中有的方法多态的前提:1 必须要有关系,比方 继承或者 实现。2 通常会有覆盖操作。 关键字 instanceof 判断对象是否实现了指定的接口或继承了指定的类 格式:<对象 instanceof 类型> ,判断一个对象是否所属于指定的类型。Student instanceof Person = true;/student继承了person类重写:重写是子父类之间方法的覆盖 ,两个方法名以及参数一样。也就是说子类重新定义了父类的方法。重载:重载是同一个类中2个或者多个方法拥有一样的方法名,但是参数不一样。5接口:关键字interface定义的。 接口中包含的成员,最常见的有全局常量,抽象方法。 注意:接口中的成员都有固定的修饰符。 成员变量:public static final 成员方法:public abstract例: interface Inter public static final int x=3; public abstract void show(); 接口中存在抽象方法,说明接口不能实例化。接口的子类必须实现了接口中所有的抽象方法后,该子类才可以实例化否那么,该子类还是一个抽象类。1类及类之间存在着继承关系,类和接口存在的是实现关系。继承 extends ;实现 implements。 2接口可以多实现。 3一个类在继承另一个类的时候,还可以实现多个接口。所以说 接口的出现防止了单继承的局限性。还可以将类进展功能的扩展。4接口是可以多继承接口的。Java类是单继承的。Java接口可以多继承。Interface3 Extends interface1, interface2,interface3接口不存在这样的问题,接口全都是抽象方法继承谁都无所谓,所以接口可以继承多个接口。 抽象类和接口的区别:1 抽象类只能被继承,而且只能单继承。接口需要被实现,而且可以多实现。2 抽象类中可以定义非抽象方法,子类可以直接继承使用。接口中都是抽象方法,需要子类去实现。3 抽象类 is a 的关系。接口类 like a的关系。4 抽象类的成员修饰符可以自定义。接口中的成员修饰符是固定的 。全是 public。接口:一般用于定于对象的扩展功能,是在继承之外还需对这个对象具备的一些功能。6线程&进程线程:是程序执行流的最小单元。可以被称为轻量级进程。进程:是计算机中的程序关于某数据集合上的一次运行活动,是系统进展资源分配和调度的根本单位。关系: 一个进程可能包含一个或者多个线程。五个阶段: 创立 就绪 运行 阻塞 终止。多进程:指操作系统能同时运行多个任务程序。多线程:指同一个程序中有多个程序执行流在执行。实现多线程:nable接口实现Runnable接口可以防止单继承的局限性 3.使用Executor框架来创立线程池应用程序。实现Runnable接口和继承Thread类的区别。1, 实现Runnable接口适合多个一样的程序代码去处理同一个资源2, 实现Runnable接口可以防止java中单继承的限制3, 实现Runnable接口增强程序的强健性,代码可以被多个线程共享,代码和数据独立。在java中,每次程序运行至少启动2个线程。一个是main线程,一个是垃圾收集线程。因为每当使用java命令执行一个类的时候,实际上都会启动一个,每一个实习在就是在操作系统中启动了一个进程。7集合框架集合 两大基类 Collection MapCollection |- -List 有序(元素存入集合的顺序和取出的顺序一致),元素都有索引。元素可以重复。和数组类似,List可以动态增长,查找元素效率高,插入删除元素效率低,因为会引起其他元素位置改变。<相应类有 ArrayList,LinkedList,Vector> |- - Set 无序,不许重复。检索元素效率低下,删除和插入效率高,插入和删除不会引起元素位置改变。<对应类有 HashSet,TreeSet>Map |-Hashtable:底层是哈希表数据构造,是线程同步的。不可以存储null键,null值。 |-HashMap:底层是哈希表数据构造,是线程不同步的。可以存储null键,null值。替代了Hashtable. |-TreeMap:底层是二叉树构造,可以对map集合中的键进展指定顺序的排序。区别:Collection一次存一个元素;Map一次存一对元素。 Collection是单列集合;Map是双列集合。Map中的存储的一对元素;一个是键,一个是值Key - Value,有对应映射关系。Map特点:保证map集合中键的唯一性。*获取Map集合中的所有元素: 原理:map中没有迭代器,collection具备迭代器,只要将map集合转成set集合,就可以使用迭代器了。1. keySet(); 2entrySet(); Collection 和 Collections的区别:Collections是个java.util下的类,是针对集合类的一个工具类,提供一系列静态方法,实现对集合的查找、排序、替换、线程平安化将非同步的集合转换成同步的等操作。Collection是个java.util下的接口,它是各种集合构造的父接口,继承于它的接口主要有Set和List,提供了关于集合的一些操作,如插入、删除、判断一个元素是否其成员、遍历等。三大框架:structs hibernate spring 作用:主要来做javaweb应用。Structs:基于MVC的充当了其中的试图层和控制层Hibernate:做持久化的,对JDBC轻量级的封装,使得我们能过面向对象的操作数据库Spring:采用了控制翻转技术,通过管理Bean降低了各层之间的耦合Spring核心技术:1.IoC:控制反转。2.AoP:面向切面编程。AOP主要实现的目的是针对业务处理过程中的切面进展提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各局部之间低耦合性的隔离效果。