欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    java知识点总结2.docx

    • 资源ID:13056433       资源大小:55.13KB        全文页数:20页
    • 资源格式: DOCX        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    java知识点总结2.docx

    精品名师归纳总结1. java.lang.Object类,是全部类的根父类!2. Object 类仅有一个空参的构造器public Object3. 关于方法: equalsObject objpublic boolean equalsObject obj return this = obj;/ =/ 1. 基本数据类型:依据基本数据类型的值判定是否相等。相等返回/注:两端数据类型可以不同,在不同的情形下,也可以返回true ,反之返回true 。false/ 2. 引用数据类型:比较引用类型变量的的址值是否相等。/equals:>只能处理引用类型变量在Object 类,发觉 equals仍旧比较的两个引用变量的的址值是否相等>像 String 包装类File 类 Date 类这些重写 Object 类的 equals方法,比较是两个对象的/" 实体内容 " 是否完全相同。>如我们自定义一个类,期望比较两个对象的属性值都相同的情形下返回true 的话,就需要重写 Object 类的equalsObject obj 方法 toString 方法可编辑资料 - - - 欢迎下载精品名师归纳总结当我们输出一个对象的引用时,会调用toString 方法。1.public String toString return getClass.getName + "" + Integer.toHexStringhashCode;当我们没有重写Object 类的 toString 方法时,打印的就是对象所在的类,以及对象实体在堆空间的位置2.一般我们需要重写Object 类的 toString 方法,将此对象的各个属性值返回。3.像 String 类、 Date、File 类、包装类都重写了toString 方法。1. String 类:不行变的字符序列(如:String str = "atguigu" str += "javaEE" )1. 关注于 String 常用的方法!2. String 类与基本数据类型、包装类。与字符数组、字节数组。* 1. 字符串 与基本数据类型、包装类之间转换* 字符串 ->基本数据类型、包装类:调用相应的包装类的parseXxxString str;* 基本数据类型、包装类->字符串 :调用字符串的重载的valueOf 方法*可编辑资料 - - - 欢迎下载精品名师归纳总结* 2. 字符串与字节数组间的转换* 字符串 ->字节数组 :调用字符串的 getBytes* 字节数组>字符串:调用字符串的构造器* 3. 字符串与字符数组间的转换* 字符串 ->字符数组:调用字符串的toCharArray;* 字符数组 ->字符串 :调用字符串的构造器4.String 与 StringBuffer 的转换 String ->StringBuffer :使用 StringBuffer 的构造器: new StringBufferString str; StringBuffer->String: 使用 StringBuffer 的 toString 方法StringBuffer 类:可变的字符序列StringBuilder 类:可变的字符序列,jdk5.0 新加入的,效率更高,线程担心全。常用的方法:添加:append.删除 deleteintstartIndex,intendIndex修改:setCharAtint n ,char ch查询: charAtint index插入 :insertint index, String str反转 reverse长度: length注: String 类的不行变性:可编辑资料 - - - 欢迎下载精品名师归纳总结2. 时间、日期类:2.1 System 类currentTimeMillis :返回当前时间的long 型值。此 long 值是从 1970 年 1月 1 日 0 点 0 分 00 秒开头到当前的毫秒数。此方法常用来运算时间差。2.2 Date 类: java.util.Date1. Dated = new Date;/ 返回当前时间的 Date: Mon May 12 15:17:01 CST 2022 Date d1 = new Date15231512541241L;/ 返回形参处此 long 型值对应的日期/getTime :返回当前日期对应的long 型值。 toString2.3SimpleDateFormat:java.text.SimpleDateFormat格式化 :日期 ->文本 使用 SimpleDateFormat 的 format 方法解析:文本 ->日期 使用 SimpleDateFormat 的 parse方法/1. 格式化 1SimpleDateFormat sdf = new SimpleDateFormat;可编辑资料 - - - 欢迎下载精品名师归纳总结String date = sdf.formatnew Date; System.out.printlndate;/14-5-12下午 3:24/2. 格式化 2SimpleDateFormat sdf1 = new SimpleDateFormat"EEE, d MMM yyyy HH:mm:ss Z" date = sdf1.formatnew Date;System.out.printlndate;/星期一 , 12 五月 2022 15:29:16 +0800/3. 解析:Date date1 = sdf.parse"14-5-12下午 3:24" System.out.printlndate1;date1 = sdf1.parse" 星期一 , 12 五月 2022 15:29:16 +0800"/date1 = sdf1.parse"14-5-12下午 3:24" System.out.printlndate1;2.4 Calendar:日历类2.4.1 猎取实例: Calendar c = Calendar.getInstance;2.4.2 get/set/add/date getTime/setTime可编辑资料 - - - 欢迎下载精品名师归纳总结1. 对象的储备:数组(基本数据类型& 引用数据类型)集合(引用数据类型)>数组储备数据的弊端:长度一旦初始化以后,就不行变。真正给数组元素赋值的个数没有现成的方法可用。2. 集合框架Collection 接口 :方法: addObject obj,addAllCollection coll,size,clear,isEmpty; removeObjectobj,removeAllCollectioncoll,retainAllCollection coll,equalsObject obj,containsObject objcontainsAllCollection coll,hashCode iterator,toArray;* |-List 接口:储备有序的,可以重复的元素.-相当于“动态”数组>新增的方法: 删除 removeint index修改 setint index,Object obj猎取 getint index插入 addint index,Object obj>添加进 List 集合中的元素(或对象)所在的类肯定要重写equals方法* |-ArrayList (主要的实现类)|-LinkedList (更适用于频繁的插入、删除操作)|-Vector (古老的实现类、线程安全的,但效率要低于ArrayList )* |-Set 接口:储备无序的,不行重复的元素。-相当于高中的“集合”概念>Set 使用的方法基本上都是Collection 接口下定义的。>添加进 Set 集合中的元素所在的类肯定要重写equals 和 hashCode。要求重写 equals 和 hashCode方法保持一样。可编辑资料 - - - 欢迎下载精品名师归纳总结>1.无序性:无序性! = 随机性。真正的无序性,指的是元素在底层储备的位置是无序的。>2.不行重复性: 当向 Set 中添加进相同的元素的时候,后面的这个不能添加进去。* |HashSet (主要的实现类)|-LinkedHashSet 是 HashSet 的子类,当我们遍历集合元素时,是依据添加进去的次序实现的。频繁的遍历,较少的添加、插入操作建议挑选此|TreeSet (可以依据添加进集合中的元素的指定属性进行排序)>要求 TreeSet 添加进的元素必需是同一个类的!>两种排序方式: 自然排序: 要求添加进TreeSet 中的元素所在的类 implements Comparable接口重写 compareToObject obj ,在此方法内指明依据元素的哪个属性进行排序向 TreeSet 中添加元素即可。如不实现此接口,会报运行时反常定制排序: 创建一个实现 Comparator 接口的实现类的对象。在实现类中重写Comparator 的 compareObject o1,Object o2 方法在此 compare 方法中指明依据元素所在类的哪个属性进行排序将此实现Comparator 接口的实现类的对象作为形参传递给TreeSet 的构造器中向 TreeSet 中添加元素即可。如不实现此接口,会报运行时反常> 要 求 重 写 的 compareTo 或 者 compare 方 法 与 equals 和hashCode方法保持一样。Map 接口:储备“键 -值”对的数据-相当于高中的“函数y = fx” x1,y1x2,y2>key 是不行重复的, 使用 Set存放。value 可以重复的, 使用 Collection 来存放的。一个 key-value对构成一个 entryMap.Entry , entry 使用 Set 来存放。>添加、修改 putObject key,Object value删除 removeObject key猎取 getObject key size/ keySet valuesentrySet可编辑资料 - - - 欢迎下载精品名师归纳总结* |-HashMap :主要的实现类,可以添加null 键, null 值|-LinkedHashMap :是 HashMap 的子类,可以依据添加进Map 的次序实现遍历|-TreeMap :需要依据key 所在类的指定属性进行排序。要求key 是同一个类的对象。对key 考虑使用自然排序或 定制排序|-Hashtable :是一个古老的实现类,线程安全的,不行以添加null 键, null值不建议使用。|- 子类: Properties :常用来处理属性文件Iterator 接口:用来遍历集合Collection 元素Collections 工具类:操作Collection 及 Map 的工具类,大部分为static 的方法。附: Properties 的使用Properties pros = new Properties;pros.loadnew FileInputStreamnew File"jdbc.properties" String user = pros.getProperty"user" System.out.printlnuser;String password = pros.getProperty"password" System.out.printlnpassword;可编辑资料 - - - 欢迎下载精品名师归纳总结1. 泛型在集合中的使用(把握)2. 自定义泛型类、泛型接口、泛型方法(懂得->使用)3. 泛型与继承的关系4. 通配符1. 在集合中不使用泛型public void test1List list = new ArrayList; list.add89;list.add87;list.add67;/1. 没有使用泛型,任何Object 及其子类的对象都可以添加进来可编辑资料 - - - 欢迎下载精品名师归纳总结list.addnew String"AA"forint i = 0;i < list.size;i+/2. 强转为 int 型时,可能报ClassCastException的反常int score = Integerlist.geti;System.out.printlnscore;2. 在集合中使用了泛型public void test2List<Integer> list = new ArrayList<Integer> list.add78;list.add87;/list.add"AA"/forint i = 0;i < list.size;i+/int score = list.geti;/System.out.printlnscore;/Iterator<Integer> it = list.iterator; whileit.hasNextSystem.out.printlnit.next;可编辑资料 - - - 欢迎下载精品名师归纳总结public void test3Map<String,Integer> map = new HashMap<> map.put"AA", 78;map.put"BB", 87;map.put"DD", 98;Set<Map.Entry<String,Integer>> set = map.entrySet; forMap.Entry<String,Integer> o : setSystem.out.printlno.getKey + "->" + o.getValue;3. 自定义泛型类:应用public class DAO<T> public void addT t/.public T getint index return null;public List<T> getForListint index return null;public void deleteint index可编辑资料 - - - 欢迎下载精品名师归纳总结public class CustomerDAO extends DAO<Customer>public class TestCustomerDAO public static void mainString args CustomerDAO c = new CustomerDAO; c.addnew Customer;c.get0;【留意点】1. 对象实例化时不指定泛型,默认为:Object。2. 泛型不同的引用不能相互赋值。3. 加入集合中的对象类型必需与指定的泛型类型一样。4. 静态方法中不能使用类的泛型。5. 假如泛型类是一个接口或抽象类,就不行创建泛型类的对象。6. 不能在 catch 中使用泛型7. 从泛型类派生子类,泛型类型需详细化可编辑资料 - - - 欢迎下载精品名师归纳总结4. 泛型与继承的关系A 类是 B 类的子类, G 是带泛型声明的类或接口。那么G<A>不是 G<B>的子类!5. 通配符 :.A 类是 B 类的子类, G 是带泛型声明的类或接口。就G<.> 是 G<A>、G<B>的父类!以 List<.>为例, 能读取其中的数据。 由于不管储备的是什么类型的元素,其肯定是 Object类的或其子类的。以 List<.>为例,不行以向其中写入数据。由于没有指明可以存放到其中的元素的类型! 唯独例外的是: null6*.List<? extends A> :可以将 List<A>的对象或 List<B>的对象赋给 List<. extends A>。其中 B是 A 的子类. super A: 可以将 List<A>的对象或 List<B>的对象赋给 List<. extends A> 。其中 B 是 A的父类可编辑资料 - - - 欢迎下载精品名师归纳总结1. 体系结构java.lang.Object|java.lang.Throwable|-java.lang.Error :错误, java 程序对此无能为力,不显式的处理|-java.lang.Exception: 反常。需要进行处理|-RuntimeException: 运行时反常可编辑资料 - - - 欢迎下载精品名师归纳总结|ArrayIndexOutOfBoundsException/NullPointerException/ArithmeticException/ClassCastException|- 非 RuntimeException: 编译时反常2. 由于 java 程序分为 javac.exe 和 java.exe 两个过程,在每个过程中,都有可能显现反常。故分为编译时反常、运行时反常2.1 对于运行时反常比较常见,可以不显式的来处理。2.2 对于编译时反常,必需要显式的处理编译时反常,不是说有反常才处理,而是存在反常的隐患,必需在编译前,提示程序,万一显现反常,如何处理!2. 如何处理反常?java 中的“抓抛模型”* 1." 抛":当我们执行代码时,一旦显现反常,就会在反常的代码处生成一个对应的反常类型的对象,并* 将此对象抛出。 自动抛出/手动抛出 * >一旦抛出此反常类的对象,那么程序就终止执行* >此反常类的对象抛给方法的调用者。* 2." 抓":抓住上一步抛出来的反常类的对象。如何抓?即为反常处理的方式* java 供应了两种方式用来处理一个反常类的对象。* 处理的方式一:* try* / 可能显现反常的代码* catchException1 e1* / 处理的方式 1* catchException2 e2可编辑资料 - - - 欢迎下载精品名师归纳总结* / 处理的方式 2* finally* / 肯定要执行的代码* 注: 1.try 内声明的变量,类似于局部变量,出了try 语句,就不能被调用* 2.finally 是可选的。* 3.catch 语句内部是对反常对象的处理:* >getMessage;printStackTrace;* 4.可以有多个 catch 语句, try 中抛出的反常类对象从上往下去匹配catch 中的反常类的类型,一旦满意* 就执行 catch 中的代码。执行完,就跳出其后的多条catch 语句* 5.假如反常处理了,那么其后的代码连续执行。* 6.如 catch 中多个反常类型是 "并列 " 关系,孰上孰下都可以。* 如 catch 中多个反常类型是" 包含 " 关系,须将子类放在父类的上面,进行处理。否就报错!* 7.finally 中存放的是肯定会被执行的代码,不管try 中、 catch 中是否仍有反常未被处理,以及是否有 return 语句。* 8.try-catch 是可以嵌套的。处理方式二:在方法的声明处,显式的使用throws +反常类型public void method1throws Exception1 e1,Exception2 e2/ 可能显现反常(特别是编译时反常,肯定要处理)public void method2 throws Exception1 e1,Exception2 e2 method1;可编辑资料 - - - 欢迎下载精品名师归纳总结public void method3 trymethod2;catchException1 e1 System.out.printlne1.getMessage;catchException2 e2 System.out.printlne2.getMessage;public static void mainString args对象 1.method3;/不会再显现上述的Exception1 和 Exception2 的反常!3. 如何手动的抛出一个反常?在方法的内部,可以使用throw +反常类对象,来手动的抛出一个反常!/ 比较两个圆的半径的大小。public int compareToObject obj throws Exception ifthis = objreturn 0;else ifobj instanceof Circle可编辑资料 - - - 欢迎下载精品名师归纳总结Circle c = Circleobj; ifthis.radius > c.radiusreturn 1;else ifthis.radius = c.radius return 0;elsereturn -1;else/return -2;/ 手动的抛出一个反常/throw new Exception"传入的类型有误! "/throw new String"传入的类型有误! " throw new MyException" 传入的类型有误! "4. 如何自定义一个反常类?>手动的抛出一个反常,除了抛出的是现成的反常类的对象之外,仍可以抛出一个自定义的反常类的对象!>如何自定义一个反常类了?/1. 自定义的反常类继承现有的反常类/2. 供应一个序列号,供应几个重载的构造器public class MyException extends Exceptionstatic final long serialVersionUID = -70348975766939L;可编辑资料 - - - 欢迎下载精品名师归纳总结public MyExceptionpublic MyExceptionString msg supermsg;5. “ 5 个关键字搞定反常处理! ”其中,要区分: t可编辑资料 - - - 欢迎下载

    注意事项

    本文(java知识点总结2.docx)为本站会员(C****o)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开