自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 内部类

内部类内部类就是在一个类的内部再定义一个类。成员内部类静态内部类局部内部类匿名内部类代码演示package com.jiang.oop.demo8;public class Outer { private int id=18; public void out(){ System.out.println("这是外部类的方法"); } //局部内部类 public void method(){ class Inner{

2021-03-13 21:18:17 204 2

原创 接口

接口普通类:只有具体实现。抽象类:具体实现和规范(抽象方法)都有。接口:只有规范!约束和实现分离。接口就是规范,定义的是一组规则,体现了现实世界中“如果你是……则必须能……”的思想。接口的本质是契约,就像人间的法律一样。制定好后大家都遵守。OOP的精髓,是对对象的抽象,最能体现这一点的就是接口。注意:约束定义一些方法,让不同人实现方法默认public abstract属性默认public static final接口不能被实例化,接口中没有构造方法implements可以实

2021-03-13 20:56:13 138

原创 static关键字

static关键字修饰成员变量修饰成员方法静态代码块静态导包静态内部类代码演示静态代码块package com.jiang.oop.demo6;public class Teacher { //2 { //代码块(匿名代码块) System.out.println("匿名代码块"); } //1.只执行一次,不会再执行 static { //静态代码块 System.out.

2021-03-13 20:32:35 104

原创 抽象类

抽象类abstract修饰符可以用来修饰方法也可以修饰类,如果修饰方法,那么该方法就是抽象方法;如果修饰类,那么该类就是抽象类。抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明为抽象类。抽象类,不能使用new关键字来创建对象,它是用来让子类继承的。抽象方法,只有方法的声明,没有方法的实现,它是用来让子类实现的。子类继承抽象类,那么就必须要实现抽象类没有实现的抽象方法,否则该子类也要声明为抽象类。## 代码演示package com.jiang.oop.demo5;//abstrac

2021-03-13 17:13:54 105

转载 instanceof 关键字

instanceof 关键字boolean result=obj instanceof Class1.instanceof 严格来说是Java中的一个双目运算符,用来测试一个对象是否为一个类的实例。3.其中 obj 为一个对象,Class 表示一个类或者一个接口,当 obj 为 Class 的对象,或者是其直接或间接子类,或者是其接口的实现类,结果result 都返回 true,否则返回false。3.注意:编译器会检查 obj 是否能转换成右边的class类型,如果不能转换则直接报错,如果不能

2021-03-13 14:30:12 302

原创 多态

多态动态编译:类型:可扩展性增强即同一方法可以根据发送对象的不同而采用多种不同的行为方式。一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多多态存在的调节有继承关系子类重写父类方法父类引用指向子类对象注意:多态是方法的多态,属性没有多态。...

2021-03-12 22:28:23 72

原创 方法的重写

方法的重写重写:需要有继承关系,子类重写父类的方法方法名必须相同参数列表必须相同修饰符:范围可以扩大但不能缩小 public>protected>default>private抛出的异常:范围可以缩小,但不能扩大为什么需要重写:父类的功能,子类不一定需要,或者不一定满足重写,子类的方法和父类必须要一致,方法体不同重写快捷键:Alt+insert代码演示父类package com.jiang.oop.demo3;//重写都是方法的重写,和属性无关

2021-03-12 21:15:20 84

原创 super

supersuper注意点:1.super调用父类的构造方法,必须在构造方法的第一个2.super必须只能出现在子类的方法或者构造方法中3.super和this不能同时调用构造方法super VS this​ 1.代表的对象不同:​ this:本身调用者这个对象​ super:代表父类对象的应用​ 2.前提​ this:没有继承也可以使用​ super:只能在继承条件才可以使用​ 3.构造方法​ this():本类的构造​ super():父类

2021-03-12 20:21:12 119

原创 继承

继承继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模。extends的意思是“扩展"。自类是父类的扩展。Java中类只有单继承,没有多继承。一个儿子只能有一个父亲,一个父亲可以有多个儿子。继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等。继承关系的两个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键字extends来表示。子类和父类之间,从意义上讲应该具有”is a"的关系。老师是人,学生是人。object类super方法重写:重

2021-03-12 17:32:47 73

原创 封装

封装该露的露,该藏的藏我们程序设计要追求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用。封装(数据的隐藏)通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏。记住这句话:属性私有,get/setget/set方法快捷键:Alt+inset1.提高程序的安全性,保护数据2.隐藏代码的实现细节。3.统一接口4.系统可维护性增加代码演示package com.jiang.o

2021-03-12 14:54:29 83

原创 面向对象

初识面向对象谈起面向对象就不得不提面向过程面向过程思想步骤清晰简单,第一步做什么,第二步做什么…面对过程适合处理一些较为简单的问题面向对象思想物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向过程的思索。面向对象适合处理复杂的问题,适合处理需要多人协作的问题。对于描述复杂的事物,为了从宏观上把握,从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。但是,具体到微观操作,仍然需要面向过程的思路去处理

2021-03-12 11:28:59 71

原创 可变参数

可变参数JDK1.5开始,Java支持传递同类型的可变参数给一个方法。在方法声明中, 在指定参数类型后加一个省略号(…)。一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。package com.jiang.method;public class Demo6 { public static void main(String[] args) { //调用可变参数的方法 printMax(34,1,2,6);//3

2021-03-11 19:35:21 82

原创 数组

1.数组概述数组是相同类型数据的有序集合。数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们。2.数组声明创建首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法:dataType[] arrayRefVar;//首选方法dataType arrayRefVar[];//效果相同,但不是首选Java语言使用new操作符来创建数组,语法如下:dataType[] arra

2021-03-11 19:10:45 94

原创 Arrays类

Arrays类数组的工具类java.util.Arrays由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一些其他的操作。查看JDK帮助文档Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而“不用”使用对象来调用(注意是“不用”而不是“不能)具有以下常用功能:给数组赋值:通过fill方法。对数组排序:通过sort方法,按升序。比较数组:通过equals方法比较数组中元素值是否

2021-03-11 19:08:08 127 2

原创 稀疏数组

稀疏数组当一个数组中大部分元素为0,或者为同一值的数组时,可以使用洗漱数组来保存该数组。稀疏数组的处理方式是:记录数组一共有几行几列,有多少个不同值把具有不同值的元素和行列及值记录在一个小规模的数组中,从而缩小程序的规模。如下图,左边为原始数组,右边为稀疏数组代码演示package com.jiang.array;public class ArrayDemo8 { public static void main(String[] args) {

2021-03-11 18:30:50 121 1

原创 冒泡排序

冒泡排序冒泡排序无疑是最为出名的排序算法之一,总共有八大排序!冒泡的代码还是相当简单的,两层循环,外层冒泡轮数,里层一次比较,江湖中人人皆知。我们看到嵌套循环,应该立马就可以得出这个算法的时间复杂度O(n2次方)。代码演示package com.jiang.array;import java.util.Arrays;public class ArrayDemo7 { //冒泡排序 //1.比较数组中两个相邻的元素,如果第一个数比第二个数大,我们就交换他们的位置

2021-03-11 18:26:26 163 2

原创 命令行传参

命令行传参有时候你希望一个程序运行时候再传递给它消息。这要靠传递命令行参数给main()函数实现。package com.jiang.method;public class Demo2 { public static void main(String[] args) { //args.length数组长度 for (int i = 0;i< args.length;i++){ System.out.println(args[i

2021-03-10 21:15:48 120 1

原创 方法的重载

4.方法的重载重载就是在一个类中,有相同的函数名称,但形参不同的函数。方法的重载的规则:方法名称必须相同。参数列表必须不同(个数不同、类型不同、参数排列顺序不同等)方法的返回类型可以相同也可以不相同。仅仅返回类型不同不足以成为方法的重载。实现理论:方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错。代码展示package com.jiang.method;public class Demo1 { p

2021-03-10 09:56:42 90

原创 方法的调用

3.方法的调用调用方法:对象名.方法名(实参列表)Java支持两种调用方法的方式,根据方法是否返回值来选择。当方法返回一个值的时候,方法调用通常被当做一个值。例如:int maxNum=max(10,20);如果方法返回值是void,方法调用一定是一条语句。System.out.println("hello world");代码展示package com.jiang.method;public class Demo { public static void

2021-03-10 09:55:12 297

原创 方法的定义

1.什么是方法?System.out.println(),可以理解为:调用系统类里面标准输出对象out中的println()方法。Java方法是语句的集合,他们在一起执行一个功能。方法是解决一类问题的步骤的有序组合。方法包含于类或对象中。方法在程序中被创建,在其他地方被引用。设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块集合。我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成1个功能,这样有利于后期的扩展。2.方法的定义Java的方法类似于其他语言的

2021-03-10 09:50:26 105 1

原创 顺序结构

顺序结构Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。顺序结构是最简单的算法结构语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。...

2021-03-09 13:47:55 132

原创 break、continue

break、continuebreak在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余语句。(break语句也在switch语句中使用)continue语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。关于goto关键字goto关键字很早就在程序设计语言中出现,尽管goto仍然是Java的一个保留字,但并未在语言中得到正式使用;Java没有goto。然而,在break和continue

2021-03-09 13:27:58 147 1

原创 循环结构

循环结构while循环do……while循环for循环在Java5中引入了一种主要用于数组的增强型for循环while循环while是最基本的循环,它的结构为:while(布尔表达式){ //循环内容}只要布尔表达式为true,循环就会一直执行下去。我们大多数情况是会让循环停止下来的,我们需要一个让表达式失效的方式来结束循环。少部分情况需要循环一直执行,比如服务器的请求响应监听等。循环条件一直为true就会造成无限循环(死循环),我们正常的业务编程中

2021-03-09 11:10:00 123

原创 选择结构

选择结构if单选择结构if双选择结构if多选择结构嵌套的if结构switch多选择结构if单选择机构我们很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用if语句来表示。语法:if(布尔表达式){ //如果布尔表达式为true将执行的语句}代码演示package com.jiang.struct;import java.util.Scanner;public class IfDemo { public static

2021-03-08 22:29:15 73

原创 用户交互Scanner

用户交互Scanner之前我们学的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户的输入。java.util.Scanner式Java5的新特征,我们可以通过Scanner类来获取用户的输入。基本语法Scanner s=new Scanner(System.in);通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。

2021-03-08 15:05:33 84

原创 运算符

运算符算术运算符:+,-,*,/,%,++,–赋值运算符:=关系运算符:>,<,>=,<=,==,!=instanceof逻辑运算符:&&,||,!位运算符:&,|,^,~,>>,<<,>>>条件运算符:?:扩展赋值运算符:+=,-=,=,/=代码演示package com.jiang.operator;public class Demo1 { public static void m

2021-03-07 22:05:09 100 1

原创 包机制

包机制为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。包语句的语法格式为:package pkg1[.pkg2[.pkg3]];一般利用公司域名倒置作为包名:com.shark.xxx为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用"import"语句可完成此功能import package1[.package2...].(classname|*);idea项目包名显示方式点击项目结构右上角齿轮勾选FlattenPack

2021-03-07 22:04:08 138 5

原创 JavaDoc

JavaDocjavadoc命令是用来生成自己API文档的将当前类在文件夹中打开,右击当前类,选中open in explorer通过资源管理器的地址栏进入cmd执行 javadoc -encoding UTF-8 -charset UTF-8 Doc.java在生成的文件中找到 index.html 并打开参数信息@author作者名@version版本号@since指明需要最早使用的jdk版本@param参数名@return返回值情况@throw

2021-03-07 21:46:13 175 4

原创 注释、标识符

注释单行注释//单行注释多行注释/*多行注释*/文档注释/**文档注释*/JavaDoc标识符关键字abstractassertbooleanbreakbytecasecatchcharclassconstcontinuedefaultdodoubleelseenumextendsfinalfinallyfloatforgotoifimplementsimportinstanceo

2021-03-07 21:42:55 135 2

原创 数据类型

数据类型强类型语言要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用弱类型语言Java的数据类型分为两大类基本类型(primitive type)引用类型(reference type)public class Demo2 { public static void main(String[] args) { //八大基本数据类型 //整数 int num1=10000000;//最常用 byte

2021-03-07 11:46:13 81

原创 变量、常量、作用域

变量变量是什么:就是可以变化的量Java是一种强类型语言,每个变量都必须声明其类型。Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。type varName [=value][{,varName[=value]}];//数据类型 变量名=值; 可以使用逗号隔开来声明多个同类型变量 注意事项:每个变量都有类型,类型可以是基本类型,也可以是引用类型。变量名必须是合法的标识符。变量声明是一条完整的语句,因此每一个声明都必须以分号结束。pu

2021-03-06 20:16:36 92

原创 Spring简介

Spring简介spring:春天→给软件行业带来了春天!2002,首次推出了Spring框架的雏形,interface21框架。2004年3月24日,Spring Framework 1.0 final正式出现在我们的视野中。Rod Johnson,Spring Framework创始人,著名作者。 ,他是悉尼大学的博士,然而他的专业不是计算机,而是音乐学。spring理念:使现有的技术更加容易使用,本身是一个大杂烩,整合了现有的技术框架SSH:Struct2+Spring+Hiberna

2021-03-05 22:14:09 168

原创 Java程序运行机制

Java程序运行机制编译型解释型编译型和解释型时机不同,一本书,整本书翻译完后给外国人看和找个翻译官自己看一段翻译一段程序运行机制

2021-03-01 20:38:12 68

原创 JDK安装和卸载

卸载JDK删除Java的安装目录删除JAVA_HOME删除path下关于java的目录测试是否卸载成功打开cmdjava -version安装JDK百度搜索JDK8,找到下载地址同意协议下载电脑对应版本双击安装JDK记住安装的路径配置环境变量我的电脑→右键→属性环境变量JAVA_HOME配置path变量jdk的bin目录(%JAVA_HOME%\bin)jre的bin目录测试JDK是否安装成功打开cmdjava -v

2021-03-01 20:17:27 71

原创 JDK、JRE、JVM

JDK、JRE、JVMJDK:(Java Development Kit)java开发者工具,包含jre和jvm。在jre之上扩充了一些开发工具,让开发者可以使用。JRE:(Java Runtime Environment) java运行时环境,包含java虚拟机以及一些标准的类别函数库。JVM:(Java Virtual Machine)java虚拟机,Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种

2021-03-01 19:54:23 116

原创 HelloWorld详解

HelloWorld随便新建一个文件夹,存放代码新建一个java文件文件后缀名为.javaHello.java【注意】系统可能没有显示文件后缀名,我们需要手动打开编写代码public class Hello{ public static void main(String[] args){ System.out.print("Hello,world!"); }}编译javac java文件,会生成一个class文件运行class文件,java c

2021-02-28 16:48:16 258

原创 基本Dos命令

打开CMD的方式开始→系统→命令提示符Windows+R→输入cmd在任意的文件夹下面,按住Shift键+鼠标右键点击,在此处打开命令行窗口资源管理器的地址栏前面加上cmd路径管理员方式运行:选择以管理员方式运行常用Dos命令#盘符切换 D:#查看当前目录下的所有文件 dir#切换目录 cd (change directory)#返回上一级 cd ..#清理屏幕 cls (clear screen)#退出终端 exit#查看电脑的IP ipconfi

2021-02-26 12:09:41 49

原创 Windows常用快捷键

键盘功能键:Tab、Shift、Ctrl、Alt、空格、Enter、Windows、↑↓←→键盘快捷键:全选、复制、粘贴、撤销、保存、关闭窗口、运行、永久删除…Ctrl+C:复制Ctrl+V:粘贴Ctrl+A:全选Ctrl+X:剪切Ctrl+Z:撤销Ctrl+S:保存Alt+F4:关闭窗口Shift+Delete:永久删除Windows+R:运行Windows+E:我的电脑Windows+Tab:切换应用Ctrl+Shift+Esc:任务管理器...

2021-02-25 23:30:36 59

原创 MarkDown学习

MarkDown学习标题三级标题四级标题字体hello,world!hello,world!hello,world!hello,world!hello,world!引用我是一条鲨鱼分割线图片超链接点击跳转到鲨鱼博客列表ABCABC表格姓名性别生日现在男2021.2.24代码hellopublic...

2021-02-24 19:06:17 61

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除