自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【java疑问】什么是实例化?实例化有什么用处?

public class Draft { public static void main(String[] args) { Person p1 = new Person(); p1.name = "小李"; p1.age = 1; p1.laugh(); } public static class Person { String name; int age; pub

2021-12-01 01:20:16 2324 1

原创 【java基础】动态创建对象执行方法

有了Class对象,能做什么调用指定的方法setAccessiblepackage Study.reflection;import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;/** * 动态的创建对象,通过反射 * @date 202

2021-11-30 21:49:09 244

原创 【java基础】获取类的运行时结构

获取类运行时类的完整结构通过反射获取运行时类的完整结构Field、Method、Constructor、Superclass、Interface、AnnotationField、Method、Constructor、Superclass、Interface、Annotation实现的全部接口所继承的父类全部的构造器全部的方法全部的Field注解。。。/** * @date 2021/11/30 19:21 */public class Test08 { public s

2021-11-30 20:59:14 267

原创 【java基础】java内存分析

java内存分析了解类的加载过程类的加载与ClassLoader的理解/** * @date 2021/11/30 14:37 */public class Test05 { public static void main(String[] args) { A a = new A(); System.out.println(a); }}class A{ static { System.out.println("A类

2021-11-30 19:17:54 172

原创 【java基础】反射

反射(Reflection)Java反射机制研究及应用Java反射机制提供的功能➢在运行时判断任意一个对象所属的类➢在运行时构造任意一个类的对象➢在运行时构造任意一个类的对象➢在运行时获取泛型信息➢在运行时调用任意一个对象的成员变量和方法➢在运行时处理注解➢生成动态代理Java反射的优点和缺点优点:➢可以实现动态创建对象和编译,体现出很大的灵活性缺点:➢对性能有影响。使用反射基本上是一种解释操作,我们可以告诉JVM,我们希望做什么并且它满足我们的要求。这类操作总是慢于直接执行相同

2021-11-30 14:22:59 229

原创 【java基础】注解

注解(Annotation)Annotation是从JDK5.0开始引入的新技术。Annotation的作用:不是程序本身,可以对程序作出解释.(这一点和注释(comment)没什么区别)可以被其他程序(此如:编译器等)读取。Annotation的格式:注解是以"@注释名"在代码中存在的,还可以添加一些参数值,例如:@SuppressWarnings(value=“unchecked”).Annotation在哪里使用?可以附加在package , class , metho

2021-11-28 23:29:00 214

原创 【java基础】捕获和抛出异常

异常处理机制抛出异常捕获异常异常处理五个关键字try,catch,finally,throw、throwsIDEA快速生成try~finally选中代码行,然后Ctrl + Alt+ Tpublic class Test { public static void main(String[] args) { int a = 1; int b = 0; //try和catch是必须要的,finally可以不要 /

2021-11-28 13:00:19 103

原创 【java基础】异常机制

什么是异常实际工作中,遇到的情况不可能是非常完美的。比如:你写的某个模块,用户输入不一定符合你的要求、你的程序要打开某个文件,这个文件可能不存在或者文件格式不对,你要读取数据库的数据,数据可能是空的等。我们的程序再跑着,内存或硬盘可能满了。等等。软件程序在运行过程中,非常可能遇到刚刚提到的这些异常问题,我们叫异常,英文是:Exception,意思是例外。这些,例外情况,或者叫异常,怎么让我们写的程序做出合理的处理。而不至于程序崩溃。异常指程序运行中出现的不期而至的各种状况,如:文件找不到、网络连接失

2021-11-27 20:01:04 59

原创 【java基础】接口

接口普通类:只有具体实现抽象类:具体实现和规范(抽象方法)都有!接口:只有规范!自己无法写方法~专业的约束! 约束和实现分离:面向接口编程接口就是规范,定义的是一组规则,体现了现实世界中“如果你…则必须能…”的思想。如果你是天使,则必须能飞。如果你是汽车,则必须能跑。如果你好人,则必须干掉坏人;如果你是坏人,则必须欺负好人。接口的本质是契约,就像我们人间的法律一样。 制定好后大家都遵守。OO的精髓,是对对象的抽象,最能体现这一点的就是接口。 为什么我们讨论设计模式都只针对具备了抽象能力的语言(

2021-11-27 19:10:16 66

原创 【java基础】抽象类

抽象类abstract修饰符可以用来修饰方法也可以修饰类,如果修饰方法,那么该方法就是抽象方法;如果修饰类,那么该类就是抽象类。抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明为抽象类。抽象类,不能使用new关键字来创建对象,它是用来让子类继承的。抽象方法,只有方法的声明,没有方法的实现,它是用来让子类实现的。子类继承抽象类,那么就必须要实现抽象类没有实现的抽象方法,否则该子类也要声明为抽象类。抽象类中可以写普通的方法抽象方法必须在抽象类中不能new这个

2021-11-27 16:04:48 90

原创 【java基础】static关键字详解

static关键字非静态方法可以调用静态方法,反之则不行。public class Student { private static int age;//静态的变量 多线程 private double score;//非静态的变量 public void run(){ System.out.println("run"); go(); } public static void go(){ System.out.

2021-11-27 14:46:24 268

原创 【java基础】instanceof和类型转换

什么是instanceofinstanceof 是 Java 的保留关键字。它的作用是测试它左边的对象是否是它右边的类的实例,返回 boolean 的数据类型。public class Application { public static void main(String[] args) { //Object > String //Object > Person > Teacher //Object > Person

2021-11-27 13:05:19 346

原创 【java基础】多态

多态即同一方法可以根据发送对象的不同而采用多种不同的行为方式。一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多多态存在的条件有继承关系子类重写父类方法父类引用指向子类对象注意:多态是方法的多态,属性没有多态性。instanceof (类型转换)引用类型多态注意事项多态是方法的多态,属性没有多态父类和子类,有联系 没有联系会导致转换类型异常! ClassCastExpection!存在条件:继承关系,方法需要重写,父类引用指向子类对象 Father f1

2021-11-27 11:20:58 68

原创 【java基础】重写

重写需要有继承关系子类重写了父类的方法!,子类的方法和父类必须要一致,方法体不同方法名必须相通参数列表必须相同修饰符:范围可以扩大,不能缩小 public > Protected > Default > private抛出的异常:范围可以被缩小,但不能扩大 ClassNotFoundException --> Exception(大)为什么要重写父类的功能子类不一定需要,或者不一定满足!Application.javapublic class App

2021-11-27 10:13:08 175

原创 【java基础】继承

继承继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等。extends的意思是”扩展"。子类是父类的扩展。JAVA中类只有单继承,没有多继承!继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等。继承关系的俩个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键字extends来表示。子类和父类之间,从意义上讲应该具有"is a"的关系.object类super方法重写Application.javapublic c

2021-11-27 01:30:44 81

原创 【java基础】封装

封装该露的露,该藏的藏我们程序设计要追求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用。封装(数据的隐藏)通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏。记住这句话就够了:属性私有,get/setApplication.javapublic class Application { public static void main(String[] args) {

2021-11-27 01:04:38 76

原创 【java基础】创建对象内存分析

Pet.javapublic class Pet { public String name; public int age; //无参构造 public void shout(){ System.out.println("叫了一声!"); }}Application.javapublic class Application { public static void main(String[] args) { Pet d

2021-11-27 00:25:03 67

原创 【java基础】类和对象的创建

类和对象的关系类是一种抽象的数据类型,它是对某一类事物整体描述/定义,但是并不能代表某一个具体的事物.动物、植物、手机、电脑… .Person类、 Pet类、Car类等, 这些类都是用来描述/定义某一类具体的事物应该具备的特点和行为对象是抽象概念的具体实例张三就是人的一个具体实例,张三家里的旺财就是狗的一个具体实例。能够体现出特点,展现出功能的是具体的实例,而不是一个抽象的概念.创建与初始化对象使用new关键字创建对象使用new关键字创建的时候,除了分配内存空间之外,还会

2021-11-26 20:55:54 125

原创 【java基础】调用方法

调用静态方法调用学生类中的静态方法public class Student { //方法 public static void say(){ System.out.println("学生说话了!"); }}public class Demo2 { public static void main(String[] args) { //静态方法 static Student.say(); }}非静态方法pu

2021-11-26 20:54:30 195

原创 【java基础】面向对象

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

2021-11-26 15:53:46 78

原创 【java基础】数组

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

2021-11-26 00:37:17 65

原创 【java基础】递归详解

递归A方法调用B方法,我们很容易理解!递归就是: A方法调用A方法!就是自己调用自己利用递归可以用简单的程序来解决-些复杂的问题。 它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。递归结构包括两个部分:递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。递归体:什么时候需要调用自身方法。...

2021-11-25 13:45:52 213

原创 【java基础】java方法详解

什么是方法?System.out.println(),那么它是什么呢?//调用系统类里的标准输出对象out中的叫做println()的方法System.out.println()//Syetem是一个系统的类//out是一个在System下的输出对象//println()这就是一个方法Java方法是语句的集合,它们在一 起执行一个功能。方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建, 在其他地方被引用//加法public int static

2021-11-25 00:10:03 59

原创 【java基础】break、continue、goto

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

2021-11-24 23:41:25 254

原创 【java基础】java结构

顺序结构选择结构if单选择结构if双选择结构if多选择结构嵌套的if结构switch多选择结构反编译: java----class(字节码文件)----反编译(IDEA)循环结构while循环//死循环(应该避免)while (true){ //等待客户端连接 //定时检查}do…while循环for循环==========while循环==================int a = 1;//初始化条件

2021-11-24 15:53:18 54

原创 【java基础】用户交互Scanner

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

2021-11-24 12:47:26 72

原创 【java基础】JavaDos生成文档

JavaDocjavadoc命令是用来生成自己API文档的参数信息:@author 作者号@version 版本号@since 指明需要最早使用的jdk版本@param参数名@return返回值情况@throws异常抛出情况

2021-11-24 11:19:18 191

原创 【java基础】包机制

包机制为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。包语句的语法格式为:package pkg1[. pkg2[. pkg3...]];一般利用公司域名导致作为包名;为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用“import”语句可完成此功能import package1[.package2...].(classname|*);//*为通配符,导入这个包下的所有的类...

2021-11-24 00:21:18 52

转载 【java基础】运算符优先级

运算符优先级该表中优先级按照从高到低的顺序书写,也就是优先级为1的优先级最高,优先级14的优先级最低。结合性是指运算符结合的顺序,通常都是从左到右。从右向左的运算符最典型的就是负号,例如3±4,则意义为3加-4,符号首先和运算符右侧的内容结合。instanceof作用是判断对象是否为某个类或接口类型,后续有详细介绍。注意区分正负号和加减号,以及按位与和逻辑与的区别其实在实际的开发中,不需要去记忆运算符的优先级别,也不要刻意的使用运算符的优先级别,对于不清楚优先级的地方使用小括号去进行替代,示例

2021-11-24 00:04:35 148

原创 【java基础】运算符

java语言支持如下运算符:算数运算符:+,-,*,%,++,- -赋值运算符:=关系运算符:>,<,>=,<=,==,!=instanceof逻辑运算符:&&,||,!位运算符:&,|,^,~,>>,<<,>>>(了解!!!)条件运算符:?:拓展赋值运算符:+=,-=,*=,/=自动类型转换:自增自减运算符//自增,自减 一元运算符int a = 3;int b = a++; //执行

2021-11-24 00:01:39 260

原创 【java基础】变量和常量

变量java是一种强类型语言,每个变量都必须声明其类型。java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域变量的命名规范所有变量、方法、类名:见名知意类成员变量:首字母小写和驼峰原则: monthSalary局部变量:首字母小写和驼峰原则常量:大写字母和下划线: MAX VALUE类名:首字母大写和驼峰原则: Man, GoodMan方法名:首字母小写和驼峰原则: run(), runRun()type varName [=value] [{,varName

2021-11-23 19:58:12 42

原创 【java基础】类型转换

为什么要使用类型转换?答:由于java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。内存溢出int i = 128;byte b = (byte)i; /输出的为-128这是因为byte的最大值为127,导致了内存溢出数据类型的高低强制类型转换(类型)变量名 高–低自动转换低–高注意点不能对布尔值进行转换不能把对象类型转换为不想干的类型在把高容量转换到低容量的时候,强制转换转换的时候可能存在内存溢出,或者精度问题!System.out.println(

2021-11-23 18:57:12 197

原创 【java基础】什么是数据类型

数据类型强类型语言要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用(安全性增强但速度变慢了)弱类型语言java的数据类型分两大类基本类型(primitive type)​ 数值类型:​ 整数类型:​ byte占1个字节范围:-128-127​ short占2个字节范围:-32768-32767​ int占4个字节范围:-2147483648-2147483647​ long占8个字节范围:-9223372036

2021-11-23 01:31:37 203

原创 【java基础】注释符、标识符以及关键字

1.注释符注释符:代码量多的时候写注释会有助于我们快速看懂代码,书写注释是一个非常好的习惯。单行注释//单行注释多行注释/*多行注释多行注释多行注释*/JavaDoc:文档注释/** *@Author 小李*/2.标识符和关键字java起名字不能用关键字起名java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。所有的标识符都应该以字母(A-Z或者a-z),美元符($),或者下划线(_)开始首字符之后可以是字母(A-Z或者a-z),美元符($),或者

2021-11-23 00:51:12 268

原创 【java基础】jdk目录下的各个子目录的用处

bin目录该目录下存放一些可执行程序,例如javac编译器。还有一些java运行工具。include目录由于jdk是由C和C++进行编写的,在启动时需要去引入一些C语言的头文件。jre目录就是java运行时环境,只需要它我们就可以运行java了。lib目录存放了一些java的类库文件。src压缩包里面存放了很多的类。...

2021-11-22 21:01:44 836

原创 【java基础】java安装开发环境

Java的安装开发环境1.Java SE Development Kit的下载与安装java更新很快,但只是多了一些新特性,所以我们下载安装最经典的JDK8JDK8下载链接,直接点击即可跳转到下载页面!虽然大部分计算机是64位的系统,但为了以防万一,我们需要查看一下我们的计算机的操作系统位数。首先,我们找到我的电脑然后右键选择属性,如下图所示:找到我们计算机对应操作系统位数的JDK安装包点击下载下载后之后,点击安装包,建议按我的路径进行设置简单,记住路径,等会会用到。2.配置java

2021-11-22 20:38:45 568

原创 【java基础】Java如何卸载

Java如何卸载首先右键我的电脑,属性选择高级系统设置,找到环境变量,打开之后在系统变量里找到HAVA_HOME[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H3UxzwKX-1637579541626)(C:\Users\阿伟\AppData\Roaming\Typora\typora-user-images\image-20211122185919116.png)]点击JAVA_HOME复制变量值中的路径在资源管理器中找到这个目录,直接删除再次打开环境变量

2021-11-22 19:51:02 3305

原创 【Java基础】JDK、JRE、 JVM的含义以及关系

JDK、JRE、 JVM的含义以及关系JDK:Java Development Kit Java开发者工具JRE:Java Runtime Environment Java运行时环境JVM:Java Virtual Machine Java虚拟机

2021-11-22 18:29:31 192

原创 基础Dos命令

基本的Dos命令打开CMD的方式点击开始,找到Windows系统文件夹下的命令提示符Win键+R键,然后再输入cmd打开控制台(推荐使用)在任意文件夹下,按住shift键+鼠标右键,在此处打开命令行窗口资源管理器的地址栏前面加上cmd,cmd和路径要有一个空格管理员方式运行:点击开始,找到Windows系统文件夹下的命令提示符,右键更多找到选择以管理员方式运行Dos命令盘符切换 盘符+: 例如切换到D盘,则输入D: 查看当前目录下的所有文件 dir切换目录 cd /d 盘符:\

2021-11-22 17:05:25 173

原创 Markdown学习

Markdown学习标题#+空格,n个#号代表n级标题,最多支持6级标题字体在文本的开头和结尾都加上*就可以变为斜体在文本的开头和结尾都加上**就可以对文本加粗在文本的开头和结尾都加上***就可以变为斜体加粗在文本的开头和结尾都加上–就可以变为删除线效果引用通过>就可以进行引用分割线通过—或者***来代表分割线图片[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b76XbTel-1637514613531)(输入图片路径,可以是本地链接也可以是网

2021-11-22 01:10:48 171

空空如也

空空如也

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

TA关注的人

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