写在前面:期末考试要来了,对于一个暑假自学了几天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杂记的更多相关文章

  1. java杂记——数组拷贝

    这里介绍两种java提供的数组拷贝方法: (1)Arrays提供的copyOf(T src, T desLength)和copyOfRange(T src, int from, int to) (2) ...

  2. Java杂记9—NIO

    前言 非阻塞IO,也被称之为新IO,它重新定义了一些概念. 缓冲buffer 通道 channel 通道选择器 BIO 阻塞IO,几乎所有的java程序员都会的字节流,字符流,输入流,输出流等分类就是 ...

  3. 【Java杂记】Equals 和 hashCode

    equals 和 hashCode含义 equal:判断两个对象是否相等,如果相同,返回true 否则返回false hashcode: 返回一个int数 Object 默认(内部地址转化为一个数字) ...

  4. Java 数据持久化系列之 HikariCP (一)

    在上一篇<Java 数据持久化系列之池化技术>中,我们了解了池化技术,并使用 Apache-common-Pool2 实现了一个简单连接池,实验对比了它和 HikariCP.Druid 等 ...

  5. Linux环境下如何计算CPU占用率【华为云技术分享】

    1.Linux 环境下查看 CPU 信息 1.1.查看 CPU 详细信息 通过 cat /proc/cpuinfo 命令,可以查看 CPU 相关的信息: [root@rh ~]$ cat /proc/ ...

  6. Java-每日学习笔记(数据库与idea技巧)

    Java杂记-2020.07.28 简单记录下今天项目用到的东西还有技术公众号学到的一些知识点 Java事务 idea编码技巧 数据库快速插入100万条数据 Java实现sql回滚 Java事务 事务 ...

  7. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  8. 有关Java的日期处理的一些杂记

    在企业应用开发中,经常会遇到日期的相关处理,说实话JDK自带的日期方法很难用.就我个人而言我一般都会采用joda-time来替代JDK自身的日期. 这篇文章是杂记,所以写的比较零散,希望大家不要见怪. ...

  9. java基础(杂记)

    java基础夯实(杂记):1:创建实例对象可以通过无参的构造函数然后调用成员变量去初始化属性,也可以自己定义有参构造方法直接初始化属性,当属性为private时我们可以通过getset方法间接访问:2 ...

随机推荐

  1. Java8 日期时间API

    一.转换 1.与字符串 //LocalDateTime 转 字符串 String str = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss ...

  2. 从壹开始 [ Design Pattern ] 之三 ║ 工厂模式 与 小故事

    编者按: 定义一个用于创建对象的接口,让子类决定实例化哪一个类.工厂方法使得一个类的实例化延迟到子类. 工厂模式,是迄今为止,使用最多,最广泛的设计模式之一,它的身影几乎出现在每一个框架和个人代码之中 ...

  3. java面试常见题目

    JAVA相关基础知识面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用 ...

  4. Spring MVC使用ModelAndView进行重定向

    1.Servlet重定向forward与redirect: 使用servlet重定向有两种方式,一种是forward,另一种就是redirect.forward是服务器内部重定向,客户端并不知道服务器 ...

  5. wpa_supplicant的移植

    解压,进入,使用默认配置文件 cd wpa_supplicant-2.6 cp defconfig .config 修改.config文件,修改部分,根据自己的需要进行这部分的配置 #指定libnl的 ...

  6. Hello! 第一篇博客!

    我在博客园开通博客啦 :) 欢迎大家来关注和玩耍,和我互动, Follow 我! 我关心算法和Python!

  7. 【跟唐老师学习云网络】 - 第7篇 Tcpdump大杀器抓包

    [摘要] 前面章节的网络协议栈相关的信息建议大家多学习一遍,因为这些都是最基础的东西,想玩好云网络必备基本功.. 一.上帝视角 之前提到过定位问题可以开启上帝视角,那么如何开启就要依靠tcpdump这 ...

  8. MongoDB第四天(操作文档,添加,更新,查询以及对于日期的相关操作)

    添加文档: 添加单个文档,多个文档 package com.bjsxt.mongodbdemo; import com.mongodb.client.MongoCollection; import o ...

  9. Round-number

    Description Most of the time when rounding a given number, it is customary to round to some multiple ...

  10. Mysql基础02-约束

    约束与索引 概念 1.数据完整性(Data Integrity)是指数据的精确性(Accuracy)和可靠性(Reliability). 实体完整性(Entity Integrity):例如,同一个表 ...