JAVA知识点总结篇(三)

抽象类

  • 使用规则

    • abstract定义抽象类;
    • abstract定义抽象方法,只有声明,不需要实现;
    • 包含抽象方法的类是抽象类;
    • 抽象类中可以包含普通方法,也可以没有抽象方法;
    • 抽象类不能直接创建,可以定义引用变量;

接口

  • 定义:一种特殊的类,由全局常量和公共的抽象方法所组成;
  • 类是一种具体实现体,而接口定义了某一批类所要遵守的规范,接口不关心这些类的内部数据,也不关心这些类中方法的实现细节,它只规定这些类中必须提供某些方法;

  • 接口使用:一个类可以实现一个或多个接口,实现接口使用implements关键字。Java中一个类只能继承一个父类,可以通过多个接口做补充;

UML

  • 定义:统一建模语言或标准建模语言,是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持;

异常

  • 处理运行时异常时,采用逻辑去合理规避同时辅助try-catch处理;
  • 在多重catch块后面,可以加一个catch(Exception)来处理可能被遗漏的异常;
  • 对于不确定的代码,也可以加上try-catc,处理潜在的异常;
  • 尽量去处理异常,切忌只是简单的调用printStackTrace()去打印输出;
  • 具体如何处理异常,要根据不用的业务需求和异常类型去决定;
  • 尽量天剑finally语句块去释放占用的资源;

字符串

  • String对象创建后不能被修改,是不可变的,所谓的修改其实是创建了新的对象,所指向的内存空间不同;
  • 每次new一个字符串就是产生了一个新对象,即便两个字符串的内容相同,使用"=="比较时也为false,若只需比较内容是否相同,应使用eauals()方法;

  • ==equals()的区别
    • ==判断两个字符串在内存中首地址是否相同,即判断是否同一个字符串对象;
    • equals:比较存储在两个字符串对象中的内容是否一致;
  • StringBuffer是线程安全的,而StringBuilder则没有实现线程安全功能,所以性能更高;

包装类

  • 基本类型和包装类之间的对应关系:

  • 包装类提供的两大类
    • 将本类型和其他基本类型进行转换的方法;
    • 将字符串和本类型及包装类互相装换的方法;
  • 装箱:把基本类型转换成包装类,使其具有对象的性质,又可分为手动装箱和自动装箱;
  • 拆箱:把包装类对象转换程基本类型的值,分为手动拆箱和自动拆箱;
  • 基本类型转换为字符串的三种方法:
    • 使用包装类的toString()方法;
    • 使用String类的valueof()方法;
    • 用一个空字符串加上基本类型,得到的就是基本数据类型对应的字符串;
  • 将字符串转换为基本类型的两种方法:
    • 调用包装类的parseXxx静态方法;
    • 调用包装类的valueOf()方法转换为基本类型的包装类,会自动拆箱;

时间

  • 调用SimpleDateFormat对象的parse()方法时可能会出现转换异常,即ParseException,因此需要进行异常处理;
  • 使用Date类时需要导入java.util包,使用SimpleDateFormat时需要导入java.text包;
  • 调用Calendar获取月份时,月份是从0开始的;

Math类

  • Math位于java.lang包中,包含用于执行基本数学运算的方法,类中所有方法懂事静态方法,可以直接使用类名.方法名()

集合框架

  • 定义:一种工具类,就像是容器,储存任意数量的具有共同属性的对象;
  • 作用
    • 在类的内部,对数据进行组织;
    • 简单而快速的搜索大数量的条目;
    • 有的集合接口,提供一系列排列有序的元素,且可以在序列中间快速插入或者删除有关元素;
    • 有的集合接口,提供映射关系,可以通过关键字(key)去快速查找到对应的唯一对象,而这个关键字可以是任意类型;
  • 数组与集合区别
    • 数组长度固定,集合长度可变;
    • 数组只能通过下标访问元素,类型固定,而有的集合可以通过任意类型查找所映射的具体对象;

  • Collection接口
    • 是List、Set、Queue接口的父接口;
    • 定义了可用于操作List、Set、Queue的方法--增删改查;
  • List接口及其实现类--ArrayList
    • List是元素有序且可重复的集合,被称为序列;
    • List可以精确控制每个元素的插入位置,或删除某个位置元素;
    • ArrayList--数组序列,是List的一个重要实现类;
    • ArrayList底层由数组实现;
  • Map接口
    • Map提供了一种映射关系,其中的元素是以键值对(key-value)的形式存储的,能够实现根据key快速查找value;
    • Map中的键值对以Entry类型的对象实例形式存在;
    • 键(key)不可以重复,value可以;
    • 每个键最多只能映射到一个值;
    • Map接口提供了分别返回key值集合、value值集合以及Entry(键值对)集合的方法;
    • Map支持泛型,形如:Map<K,V>;
  • HashMap类
    • HashMap是Map的一个重要实现类,也是最常用的,基于哈希表实现;
    • HashMap中的Entry对象时无序排列的;
    • Key值和value值都可以为null,但是一个HashMap只能有一个key值为null的映射(key值不可重复);

原文地址:https://www.cnblogs.com/cunyu1943/p/9734763.html

时间: 2024-11-06 14:42:58

JAVA知识点总结篇(三)的相关文章

JAVA知识点总结篇(二)

数组 一维数组 声明 数据类型[] 数组名: 数据类型 数组名[]: 分配空间 数组名 = new 数据类型 [数组长度]: 可以在声明的同时分配空间,分配空间之后数组中才能放数据,数组元素都是通过下标来访问,声明数组的同时赋值时不能指定数组长度: foreach:for(元素类型 元素变量:遍历对象){ 执行的代码: }: 二维数组 声明并分配空间:数据类型[][] 数组名 = new 数据类型 [行的个数][列的个数]: 在定义二维数组时可以只指定行的个数,然后再为每一行分别指定列的个数,若

JAVA知识点总结篇(一)

JVM(Java Virtual Machine):源文件->编译器->字节码文件->解释器->程序: JDK:Java Development Kit,Java开发工具包: JRE:Java Runtime Environment,Java运行时环境: Java是一种强类型语言,即它所存储的数据都是有类型的,且必须在编译时就确定其类型: 数据类型: 基本数据类型; 数值型: 整数类型:byte,short,int,long: 浮点型:float,double: 字符型:char:

Java提高篇(三二)-----List总结

前面LZ已经充分介绍了有关于List接口的大部分知识,如ArrayList.LinkedList.Vector.Stack,通过这几个知识点可以对List接口有了比较深的了解了.只有通过归纳总结的知识才是你的知识.所以下面LZ就List接口做一个总结.推荐阅读: java提高篇(二一)-----ArrayList java提高篇(二二)-----LinkedList java提高篇(二九)-----Vector Java提高篇(三一)-----Stack 一.List接口概述 List接口,成为

java web进阶篇(三) 表达式语言

表达式语言(Expression Language ,EL)是jsp2.0中新增的功能.可以避免出现许多的Scriptlet代码 格式: ${ 属性名称 },  使用表达式语言可以方便的访问对象中的属性,提交的参数或者进行各种数学运算,而且使用表达式语言最大的特点是如果输出的内容是null,则会自动使用空字符串("")表示. <%request.setAttribute("name", "info");%> <h1>${n

【Java面向对象基础(三)】面向对象思想

[喵"的Android之路][基础篇(三)][Java面向对象基础]面向对象思想 1 面向对象的WWH 1.1 What--什么是面向对象 首先,要理解“对象”.在Thinking in Java中提到“Everything is an object”,即万物皆对象.这里的“对象”指的是任何实体或者任何可以当作实体看待的“虚幻的事物”.比如现实中的人(男人.女人.老人.小孩而...).动物(大象.狮子.猴子...).桌子.凳子.汽车.ATM机等等,也可以使看不见摸不着的空气(氧气.二氧化碳.氮气

java安全沙箱(三)之内置于Java虚拟机(及语言)的安全特性

java是一种类型安全的语言,它有四类称为安全沙箱机制的安全机制来保证语言的安全性,这四类安全沙箱分别是: 类加载体系 .class文件检验器 内置于Java虚拟机(及语言)的安全特性 安全管理器及Java API 本篇博客主要介绍下"内置于Java虚拟机(及语言)的安全特性":其它几类安全机制会在后续博客中陆续介绍. 简介 jvm装载一个类,并且对字节码进行了四趟扫描,这些字节码就能安全地被执行了.然而去了这些安全校验,jvm在执行字节码时还进行了一些内置的安全机制校验.这些安全机制

JAVA之旅(三十四)——自定义服务端,URLConnection,正则表达式特点,匹配,切割,替换,获取,网页爬虫

JAVA之旅(三十四)--自定义服务端,URLConnection,正则表达式特点,匹配,切割,替换,获取,网页爬虫 我们接着来说网络编程,TCP 一.自定义服务端 我们直接写一个服务端,让本机去连接,可以看到什么样的效果 package com.lgl.socket; import java.io.IOException; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; publ

JAVA Web学习篇--Servlet

Servlet由来 做过BS项目的人都知道,浏览器可以依据HTML静态标记语言来显示各式各样的网页.可是假设我们须要在网页上完毕一些业务逻辑:比方登陆验证.或者说网页显示的内容在server的数据库中.假设是这样,除了负责显示的HTML标记之外,必须还要有完毕这些业务功能的代码存在.这样的网页我们就叫做动态网页. 对于静态网页而言,server上存在的是一个个纯HTML文件.当client浏览器发出HTTP请求时,server能够依据请求的URL找到相应的HTML文件,并将HTML代码返回给cl

JAVA之旅(三十三)——TCP传输,互相(伤害)传输,复制文件,上传图片,多并发上传,多并发登录

JAVA之旅(三十三)--TCP传输,互相(伤害)传输,复制文件,上传图片,多并发上传,多并发登录 我们继续网络编程 一.TCP 说完UDP,我们就来说下我们应该重点掌握的TCP了 TCP传输 Socket和ServiceSocket 建立客户端和服务端 建立连接后,通过Socket中的IO流进行数据的传输 关闭Socket 同样的,我们的客户端和服务端都是两个独立的应用 我们通过查阅API文档发现,该对象在建立的时候,就可以去连接指定主机,因为tcp是面向连接的,所以在建立socket服务时,