Java基础学习笔记

技术Java基础学习笔记 Java基础学习笔记Java基础思维导图
左键在“新标签页打开图片”可查看高清大图一、Java入门特性与优势
高可用 高并发 高性能
面向对象、多线程、简单性(去掉了内存分配、

Java基础学习笔记

Java基础思维导图

左键单击“在新选项卡中打开图片”以查看大的高清图片。

一、Java入门

特点和优势

可用高并发高性能

面向对象、多线程、简单性(没有内存分配和指针)、跨平台(可移植性)、高性能、分布式、动态、多线程、安全性和健壮性。

Java的三个版本

JavaME JavaSE JavaEE

JDK JER JVM

JDK的发展需要使用

需要使用JER操作

虚拟计算机

数据类型

字节短int长双浮点字符布尔值

默认编号:0 0.0

布尔默认值:false

引用类型默认值:空

二进制

十进制

八进制0

Idea生成JavaDoc文档

生成文档javadoc-编码utf-8-字符集utf-8 Demo05.java

变量作用域

可变静态

实例变量

局部变量

基本运算符

- */%

三元算子

第一次操作,然后分配

操作前的赋值

位操作

A:0011 1100

B:0000 1101

如果AB(和)都是1,你得到1。

A|B(或)都为0,则得到0。

A b(异或)为相同的0,否则为1

~B(反过来)

(左移)* 2 23=16

(右移)/2

二、结构

序列结构

闭环结构

而,同时,for,增强for循环

条件结构

如果、开关

过程控制

中断、继续

三、方法

重载、命令行参数传输、变量参数

递归意味着给自己打电话。递归可以计算乘积和乘法。递归不应该计算太多。

边界条件,前阶段,返回阶段

传递引用,传递值

四、数组

定义动态数组

类型[]变量名=新类型[]

静态数组

键入[]变量名={1,2,3}

对象数组

对象[]变量名={对象,对象}

多维数组

键入[] []变量名={{{},{},{}}

仓库

堆:存储新的对象和数组,所有线程都可以共享,不会存储其他对象引用。

Stack:存储基本变量类型引用的对象的变量。

冒泡排序

有多少个值,多少个周期,每个周期的最大值或最小值,放在当前周期的索引里,后续的周期就会越来越少,越来越快。

稀疏阵列

记录原始数组的坐标和值

五、面向对象(OOP)

本质:把代码写成类,把数据封装成对象。

结构:参数结构和非参数结构。

要调用父类的构造函数,它必须在子类的构造函数的第一行。

构造函数不能作为superthis在超级时间调用。

三个特点:封装性、继承性和多态性。

多态性:同一事物有多种形式。

对象的方法和属性存储在方法区域,实例化的对象名存储在堆栈中,对象内容存储在堆中。

编程:高内聚,低耦合

封装:私有属性,获取/设置

继承:没有参数的子类不能调用有参数的父类,除非在构造函数中使用super。

重写:子类重写父类的方法。子类和父类的方法是相同的,但是方法体是不同的。

多态性:

多态性是方法的多态性,属性没有多态性。

条件存在:继承关系,方法需要被覆盖,父类引用指向子类对象。

无法重写的方法:静态、最终、私有

实例:确定两个类是否有父子关系。

子类可以转移到父类,有些方法可能会丢失,但是父转子类不会。

家长:学生学生=(学生)人;

孩子对父亲:人人=学生;

代码:静态代码块,匿名代码块

静态导入包:导入静态Java . lang . math . random;

最后,类final不能被继承。

类别摘要

1.抽象类中的方法必须在继承类中实现,抽象类不能实现抽象方法。

2.抽象方法只能存在于抽象类中。

3.抽象类不能由new实例化。

4.抽象类可以写普通方法。

个人理解,抽象的存在是为了规范类,使类具有绑定性,体现面向对象的思想。

接口实现

普通类只有具体的实现,抽象类有实现和规范,接口只有规范。

接口的本质是契约,接口中的方法默认为公共抽象。

一个类可以实现多个接口。

接口名:UserService,实现类名:UserServiceImpl

使用接口可以实现多重继承。

接口定义的变量是静态常数。

接口无法实例化,存在

内部类不能使用外部类的属性和方法,除非它们是静态的。

局部类,存在于方法中的类。

一个匿名类,实例化后,不保存实例化的对象,实例化接口,需要直接实现。

一个文件中只能有一个外部公共类。

六、异常

例外:试,抓,最后,扔,扔

异常,包括虚拟机异常错误和人为异常。

Try to catch是要监控的代码块,catch是异常处理,不管有没有异常,最后都会执行。

可以写多个catch,按照异常权重(从小到大)排序。

主动抛出异常ThrownNewArithmetic异常()

方法引发异常,并引发算术异常()

您可以自定义异常并继承异常。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/128329.html

(0)

相关推荐

  • Html+JS+PowerShell如何打造Web版AD管理系统

    技术Html+JS+PowerShell如何打造Web版AD管理系统这篇文章主要介绍Html+JS+PowerShell如何打造Web版AD管理系统,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!利

    攻略 2021年11月24日
  • c语言如何查询结构体中的数据(数据结构的链表怎么连接c语言)

    技术如何进行数据结构C语言链表的实现这篇文章将为大家详细讲解有关如何进行数据结构C语言链表的实现,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。前言需要用到的函数库#inc

    攻略 2021年12月18日
  • 如何解决jvm内存溢出java.lang.OutOfMemoryError: GC overhead limit exceeded问题

    技术如何解决jvm内存溢出java.lang.OutOfMemoryError: GC overhead limit exceeded问题如何解决jvm内存溢出java.lang.OutOfMemoryError: GC

    攻略 2021年10月23日
  • CF538G

    技术CF538G CF538G不知道在哪里找到的题,感觉评不到黑,不过是 Good Tea.首先了解将坐标系翻转 $45^{\circ}$ 的 trick ,对于每个坐标 $(x,y)$,翻转后的坐标为

    礼包 2021年12月20日
  • 怎么进行Spring中的环绕增强

    技术怎么进行Spring中的环绕增强怎么进行Spring中的环绕增强,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。通过前置增强和后置增强可以很方便的在目标方

    攻略 2021年12月2日
  • 如何理解ansible自动化运维数据库

    技术如何理解ansible自动化运维数据库这期内容当中小编将会给大家带来有关如何理解ansible自动化运维数据库,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 通过ansible

    攻略 2021年11月12日