JAVA杂记
写在前面:期末考试要来了,对于一个暑假自学了几天JAVA之后一个学期划水的人来说现在就是踏上了JAVA预习之路。下面是自己xjb记的东西,主要是根据老师给的流程图总结的自己认为需要的一些零碎的小知识,翻书跟看网课看到哪就写到哪。好吧期末预习开始~希望考个好成绩回家开开心心过年!!!
好的我开始了从零到考试的短暂JAVA学习之路......
1.构造方法是不能够继承的。
所以子类要重载父类的构造方法,但可在其中用super调用父类的构造方法.构造方法只能用类名写,并且没有返回类型。如果子类没有定义构造方法那么默认它的构造方法为super(),即父类的不带参数的构造方法
2.已经重载了构造方法之后再在它后面定义一个空的构造方法那这个构造方法就不是默认构造方法了
3.类前面要不是写private要不是就是默认的。默认的表示同包可访问,private表示不同包也能访问
4.非访问修饰符:static final abstract
5.用static修饰之后其实跟这个类的对象无关了,因此可以不用对象名称而是直接使用类名在访问static方法或者变量。注意:static方法中,不能访问实例变量,也不能使用super或者this6.final类不能被继承,final方法不能被覆盖,final字段是只读的,如果是final static a则a的默认值为0但是如果只是final a则a没有默认值,只能且仅能给a赋值一次
6.哦莫这里掉了一条.......那就算了吧Hhhhhh
7.接口的所有方法都是public abstract型的
8.接口的实现:类名+implements+接口名,然后里面实现具体的接口方法时一定要在原方法名前面加上public
9.枚举:enum Light={Red,Green,Yellow};
Light light=Light.Red;
switch(light){ case Red: .......break;};
10.接口里也可以有static方法,这个方法就不再是abstract类型的了,而是直接在定义方法的时候就实现它,然后称这样的方法叫做默认方法。子类在implements时不需要再实现它了
11.源文件的名字必须与public类的类同名
12.局部变量不能被访问控制符及static修饰,因为这些其实都是跟类有关的修饰符,但它可以被final修饰成只读的变量
13.JAVA的特点:封装继承和多态
14.instanceof方法:对象名+instanceof+类名判断是不是这种类型,或者这种类型的子类。返回结果是boolean值
15.外部类只能用public或者默认
16.内部类用static的话就跟外部类其实是没什么差别了
17.方法中的内部类:叫做局部类。它可以访问其外部类的成员,不能够访问该方法的局部变量,除非是final型的局部变量
18.匿名类:没有类名,直接用其父类或接口的名字。在定义类的同时就生成了对象。因此可看成是“一次性使用”的类。匿名类直接使用父类的构造方法,有作为方法的参数等用途
19.Lambda表达式:()->结果 实际上就是匿名类的一个实例
能写成Lambda的接口要求包含且只包含一个抽象方法,即函数式接口
通过Lambda表达式接口Converter<F,T>,它是一个泛型接口。convert()方法功能可用于将类型F值转换成类型T值:
@FuctionalInterface
interface Converter<F,T>{
T convert(F from);
}
用Lambda表达式创建接口对象,并使用它的convert()方法将一个字符串转换为整数:
Converter<String,Integer> converter=(from)->Integer.valueOF(from);
Integer converted=converter.convert("2345");
System.out.println(converted);
20.枚举其实是一种特殊的class类型,是语法糖
21.exception:异常
finally:写在最后,不管有没有异常抛出,都要执行的一条语句。
try{
语句组;
}catch(异常类名,异常形式参数名){
异常处理语句组;
}finally{
异常处理语句组;
}
catch语句可以0至多个,可以没有finally语句
finally语句必须执行,就算前面有return break
22.子类异常要放在父类异常前面
23.Object终极父类里面有
clone()方法:要继承Cloneable接口,在类里面用clone()方法,例如:
Car A=(Car)B.clone();
clone()方法返回的是Object型所以要强制转换。
clone()方法在main函数里抛出异常是CloneNotSupportedException
24.日期-时间的类在java.time包中
本地日期:LocalDate
25.compareTo()方法:
<变量1>.compareTo<变量2>返回的值是变量1比变量2的字典顺序,前大后小
26.
public class DescSort implements Comparator<String>{
Arrays.sort(ss,new DescSort());
27.toString()方法可以被改写,但是返回的类型得是String型的!!!
28.Queue接口和PriorityQueue类:后者是前者的一个实现类,它实现的是一种优先队列,优先队列中元素的顺序是根据元素的值排列的Queue接口中有几个方法:add()和offer()都是可以向队列中插入一个元素,前者会有异常抛出的情况,后者是返回false
remove()和poll()都是删除并返回队头元素,即边删边返回值,队空的时候前者会
有异常抛出,后者则是返回null
element()和peek()都是返回队头元素但不删除,队空时前者抛出异常,后者返回null
isEmpty()返回的是布尔值,用于判断是否队空
29.java.time包里面:
Instant.now()方法是静态方法,返回当前的瞬时时间点
Duration.between(Instant A,Instant B)是静态方法,用于计算了两个瞬时点的时间差
eg:
Instant start=Instant.now();
...........
Instant end=Instant.now();
System.out.printf("使用并行流用时:%d毫秒\n",Duration.between(start, end).toMillis());
30.BigInteger类:需要非常大的整数或非常高精度的浮点数,就可以使用。在java.math包中
可以用new BigInteger(String)创建实例,然后使用add(),substract(),multiply(),divide()来进行
算术计算
eg://计算n的阶乘
public static BigInteger factorial(long n) {
BigInteger result=BigInteger.ONE;//表示初始值为1
for(long i=1;i<=n;i++) {
result=result.multiply(new BigInteger(i+" "));
}
return result;
}
(i+" ")是因为:BigInteger类的构造方法是BigInteger(String S)所以必须i+" "来形成一个String
类型作为构造参数
31.List接口:
将数组转换成为List对象:
String []str={"one","two"};
List<String> list=Arrays.asList(str);
也可以直接将数组元素作为asList()方法的参数写在括号中:
List<String> list=Arrays.asList("one","two");
注意:Arrays.asList()方法返回的List对象是不可变的,不能对其进行删除、添加等操作
如果想动其中的元素则需要:List<String>list=new ArrayList<>(Arrays.asList(str));
JAVA杂记的更多相关文章
- java杂记——数组拷贝
这里介绍两种java提供的数组拷贝方法: (1)Arrays提供的copyOf(T src, T desLength)和copyOfRange(T src, int from, int to) (2) ...
- Java杂记9—NIO
前言 非阻塞IO,也被称之为新IO,它重新定义了一些概念. 缓冲buffer 通道 channel 通道选择器 BIO 阻塞IO,几乎所有的java程序员都会的字节流,字符流,输入流,输出流等分类就是 ...
- 【Java杂记】Equals 和 hashCode
equals 和 hashCode含义 equal:判断两个对象是否相等,如果相同,返回true 否则返回false hashcode: 返回一个int数 Object 默认(内部地址转化为一个数字) ...
- Java 数据持久化系列之 HikariCP (一)
在上一篇<Java 数据持久化系列之池化技术>中,我们了解了池化技术,并使用 Apache-common-Pool2 实现了一个简单连接池,实验对比了它和 HikariCP.Druid 等 ...
- Linux环境下如何计算CPU占用率【华为云技术分享】
1.Linux 环境下查看 CPU 信息 1.1.查看 CPU 详细信息 通过 cat /proc/cpuinfo 命令,可以查看 CPU 相关的信息: [root@rh ~]$ cat /proc/ ...
- Java-每日学习笔记(数据库与idea技巧)
Java杂记-2020.07.28 简单记录下今天项目用到的东西还有技术公众号学到的一些知识点 Java事务 idea编码技巧 数据库快速插入100万条数据 Java实现sql回滚 Java事务 事务 ...
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- 有关Java的日期处理的一些杂记
在企业应用开发中,经常会遇到日期的相关处理,说实话JDK自带的日期方法很难用.就我个人而言我一般都会采用joda-time来替代JDK自身的日期. 这篇文章是杂记,所以写的比较零散,希望大家不要见怪. ...
- java基础(杂记)
java基础夯实(杂记):1:创建实例对象可以通过无参的构造函数然后调用成员变量去初始化属性,也可以自己定义有参构造方法直接初始化属性,当属性为private时我们可以通过getset方法间接访问:2 ...
随机推荐
- 查找节点(getAttribute())
getAttribute():方法将返回一个给定元素的一个给定属性节点的值: attributeValue = element.getAttribute(attributeName); 给定属性的名字 ...
- CCNA 之 十 ACL 访问控制列表
ACL 访问控制列表 ACL(Access Control List) 接入控制列表 ACL 的量大主要功能: 流量控制 匹配感兴趣流量 标准访问控制列表 只能根据源地址做过滤 针对曾哥协议采取相关动 ...
- 第八次作业-非确定的自动机NFA确定化为DFA
NFA 确定化为 DFA 子集法: f(q,a)={q1,q2,…,qn},状态集的子集 将{q1,q2,…,qn}看做一个状态A,去记录NFA读入输入符号之后可能达到的所有状态的集合. 步骤: 1. ...
- DateTime格式转换部分介绍
DateTime与字符串转换: DateTime()与转换为字符串主要依靠DateTime().ToString(string format) 函数,以我的理解,参数format大体分为单个字母和多个 ...
- .Net Core的API网关Ocelot使用 (一)
1.什么是API网关 API网关是微服务架构中的唯一入口,它提供一个单独且统一的API入口用于访问内部一个或多个API.它可以具有身份验证,监控,负载均衡,缓存,请求分片与管理,静态响应处理等.API ...
- ceph分布式存储
存储分类: DAS:直连存储 ide线 sata线 usd线 sas线 NAS:网络附加存储 nfs samba ftp SAN:存储区域网络 issci SDS ...
- 字典dict的深入学习(item() / items() 一致的)
字典Dict的跟进学习: 一. items()方法的遍历:items()方法把字典中每对key和value组成一个元组,并把这些元组放在列表中返回. dict = {"name" ...
- 【新】Docker实战总结
>>> 目录 <<< Docker简介 Docker优势 Docker基本概念 Docker安装使用 Docker常用命令 Docker镜像构建 Docker本地仓 ...
- oracle 日常巡检
1. 检查数据库基本状况 包含:检查Oracle实例状态,检查Oracle服务进程,检查Oracle监听进程,共三个部分. 1.1. 检查Oracle实例状态 select instance_name ...
- 【CentOS7】常用命令
[CentOS7]常用命令 转载:https://www.cnblogs.com/yangchongxing/p/10646640.html 目录 ========================== ...