- 博客(25)
- 资源 (1)
- 收藏
- 关注
原创 反射的一些使应用
通过反射获取类的结构信息(常用方法)第一组:java.lang.Class类getName:获取全类名getSimpleName:获取简单类名getFields:获取所有public修饰的属性,包含本类以及父类的getDeclaredFields:获取本类中所有属性getMethods:获取所有public修饰的方法,包含本类以及父类的getDeclaredMethods:获取本类中所有方法getConstructors: 获取本类所有public修饰的构造器getDeclaredCon
2022-02-16 16:29:39
381
原创 类加载(浅)
基本说明反射机制是java实现动态语言的关键,也就是通过反射实现类动态加载静态加载:编译时加载相关的类,如果没有则报错,依赖性太强动态加载:运行时加载需要的类,如果运行时不用该类,即使不存在该类,则不报错,降低了依赖性举例:package com.z.class_;import java.lang.reflect.Method;import java.util.Scanner;/** * @author 小白 * @version 1.0 */public class Cla
2022-02-15 17:31:59
533
原创 Class类
基本介绍1.Class也是类,因此也继承Object类2.Class类对象不是new出来的,而是系统创建的3.对于某个类的Class类对象,在内存中只有一份,因为类只加载一次4.每个类的实例都会记得自己是由哪个Class实例所生成5.通过Class对象可以完整地得到一个类的完整结构,通过一系列API6.Class对象是存放在堆的7.类的字节码二进制数据,是存放在方法区的,有的地方称为类的元数据(包括方法代码,变量名,方法名,访问权限等等)Class类常用方法其中创建实例对象的newIns
2022-02-15 16:08:38
404
原创 反射 机制
引出1.根据配置文件re.properties指定信息,创建Cat对象并调用方法hiclassfullpath=com.z.Catmethod=hi2.这样的需求在学习框架时特别多,即通过外部文件配置,在不修改源码情况下,来控制程序,也符合设计模式ocp原则(开闭原则:不修改源码,开扩容功能)实例:Cat.javapackage com.z;/** * @author 小白 * @version 1.0 */public class Cat { private Strin
2022-02-14 17:44:43
154
原创 Properties类
基本介绍1.专门用于读写配置文件的集合类配置文件格式:键=值键=值2.注意:键值对不需要有空格,值不需要用引号引起来。默认类型是String。3.常用方法:load:加载配置文件的键值对到Properties对象list:将数据显示到指定设备getProperty(key):根据键获取值setProperty(key,value):设置键值对到Properties对象store:将Properties中的键值对存储到配置文件,在idea中,保存信息到配置文件
2022-02-11 16:32:08
607
原创 内部类(三)
内部类成员内部类的使用说明:成员内部类是定义在外部类的成员位置,并且没有static修饰。(其本质就是类的一个成员)可以直接访问外部类的所有成员,包含私有的。可以添加任意访问修饰符(public、proctected、默认、private),因为他的地位就是一个成员。作用域和外部类的其他成员一样,为整个类体。成员内部类访问外部类(如:属性)[访问方式:直接访问]。外部类访问成员内部类[访问方式:创建对象,再访问]。外部其他类访问成员内部类。//外部其他类使用成员内部类的两种方法 Out
2022-01-23 19:05:48
255
原创 内部类(二)
内部类匿名内部类的使用(重要)(1)本质是类(2)内部类(3)该类没有名字(4)同时还是一个对象说明:匿名内部类是定义在外部类的局部位置,比如方法中,并且没有类名匿名内部类的基本语法new 类或接口(参数列表){ 类体};例:package com.z.innerclass;/** * 演示匿名内部类的使用 */public class AnonymousInnerClass { public static void main(String[] args) {
2022-01-23 19:05:08
193
原创 内部类(一)
内部类(一)基本介绍一个类的内部又完整的的嵌套了另一个类结构。被嵌套的类称为内部类,嵌套其他类的类称为外部类。是类的第五大成员(属性、方法、构造器、代码块、内部类),内部类最大的特点就是可以直接访问私有成员,并且可以体现类与类之间的包含关系。基本语法class Outer{ //外部类 class Inner{ //内部类 }}class Other{ //外部其他类}例:package com.z.innerclass;public class InnerCl
2022-01-23 19:04:28
257
原创 代码块(四)
Java代码块细节(三)6、创建一个子类时(继承关系),他们的静态代码块,静态属性初始化,普通代码块,普通属性初始化,构造方法的调用顺序如下:1)父类的静态代码块和静态属性(优先级一样,按定义顺序执行)2)子类的静态代码块和静态属性(优先级一样,按定义顺序执行)3)父类的普通代码块和普通属性初始化(优先级一样,按定义顺序执行)4)父类的构造方法5)子类的普通代码块和普通属性初始化(优先级一样,按定义顺序执行)6)子类的构造方法package com.z.codeblock;public
2022-01-18 18:47:11
219
原创 代码块(三)
Java代码块细节(二)4、创建一个对象时,在一个类调用顺序是:(重点,难点):1)调用静态代码块和静态属性初始化(注意:静态代码块和静态属性初始化调用的优先级一样,如果有多个静态代码块和多个静态变量初始化,则按他们定义的顺序调用)。 package com.z.codeblock;public class CodeBockDetail02 { public static void main(String[] args) { A a = new A(); }}
2022-01-18 18:46:27
270
原创 代码块(二)
Java代码块细节(一)1、static代码块也叫静态代码块,作用就是对类进行初始化,而且它随着类的加载而执行,并且只会执行一次。如果是普通代码块,每创建一个对象就执行。package com.z.codeblock;public class CodeBlockDetail01 { public static void main(String[] args) { DD dd = new DD(); DD dd1 = new DD(); }}cla
2022-01-18 18:44:49
191
原创 Java代码块(一)
基本介绍代码块又称初始化块,属于类的成员[即是类的一部分],类似于方法,将逻辑语句封装在方法体中,通过{}包围起来。但和方法不同,没有方法名,没有返回,没有参数,只有方法体,而且不用通过对象或类显示调用,而是加载类时,或创建对象时隐式调用。基本语法[修饰符]{ 代码};注意:1、修饰符可选,只有static。2、代码块分为两类,即static修饰的静态代码块,以及没有static修饰的普通代码块。3、逻辑语句可以为任何逻辑语句(输入、输出、方法调用、循环、判断......
2022-01-18 16:28:23
276
原创 Java动态绑定机制
机制当调用对象方法的时候,该方法会和该对象的内存地址/运行类型绑定。 当调用对象属性时,没有动态绑定机制,哪里声明,哪里使用。实例package com.z.poiy_.Dynamic_;public class DynamicBinding { public static void main(String[] args) { //a的编译类型A,运行类型B A a = new B();//向上转型 System.out.prin..
2022-01-17 15:13:28
108
原创 Java简单日记本项目
(一)、课程设计题目:日记软件小程序(二)、目的与要求: 1、目的: (1)要求学生达到熟练掌握Java语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法; (3)基本掌握面向对象程序设计的基本思路和方法; (3)基本掌握输入\输出流编程和GUI图形界面编程。2、基本要求: (1)要求利用面向对象的方法以及Java的编程思想来完成系统的设计; (2)要求在设计的过程中,建立清晰的类层次; (3)在系统中定义类,每个类中要有各自的属性和方法;
2022-01-14 12:25:26
2800
1
原创 第4关:复制文件
编程要求请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下: 复制src/step4/input/目录下的input.txt文件到src/step4/output/目录下,新文件命名为output.txt; 复制src/step4/input/目录下的input.jpg文件到src/step4/output/目录下,新文件命名为output.jpg。 测试说明补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致
2021-11-19 16:50:31
3844
原创 第3关:字符流 - 输入输出
编程要求请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下: 将src/step3/input/目录下的input.txt文件复制到src/step3/output/目录下; 复制的新文件命名为output.txt; input.txt文件中只有8个字符。 测试说明补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。代码:package step3;import java.
2021-11-19 16:17:22
4226
原创 第2关:字节流-输入输出
编程要求请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下:读取src/step2/input/目录下的task.txt文件信息并输出到控制台,使用Java代码将字符串learning practice写入到src/step2/output/目录下的output.txt,若文件目录不存在,则创建该目录。注意:临时字节数组需要定义长度为8位,否则会有空格。测试说明补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为
2021-11-19 16:01:32
5315
原创 第1关:什么是IO流
1、下列关于字节和字符的说法正确的是() A、 字节 = 字符 + 编码 B、 字符 = 字节 + 编码 C、 字节 = 字符 + 解码 D、 字符 = 字节 + 解码 2、下列描述正确的是:( ) A、 使用代码读取一个文件的数据时,应该使用输出流。 B、 使用代码复制文件的时候,只需要使用输出流。 C、 使用代码读取一个文本文件的数据时,只需要使用输入流即可。 D、 从客户端向服务端发送数据可以使用输入流。 答案: BC...
2021-11-19 15:21:22
1860
原创 第4关:自定义异常
编程要求请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下:定义一个自定义异常,判断用户名是否小于三位,如果用户名小于三位,就抛出一个自定义异常。测试说明补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。输入:admin输出:用户名格式正确输入:ab输出:Exception in thread "main" step4.MyException: 用户名小于三位Exception
2021-11-12 19:08:49
3991
1
原创 Java 中的异常处理机制
1、在Java中,源文件Test.java中包含如下代码段,则程序编译运行结果是( ) public class HelloWorld{ public static void main(String[] args){ System.out.print(“HelloWorld!”); }} A、 输出:HelloWorld! B、 编译出错,提示“公有类HelloWorld必须在HelloWorld.java文件中定义” C、 运行正常,但没有输出..
2021-11-12 18:47:22
1488
原创 第3关:抛出异常
编程要求请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下:异常的抛出和处理。测试说明补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。 预期输出:该文件不存在。代码package step3;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java
2021-11-12 18:43:46
608
原创 第2关:捕获异常
编程要求请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下:编辑器中的代码运行时可能会有异常,请利用本关知识处理该异常。测试说明补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。输入: 4 2输出: 2输入: 4 0输出: 除数不能为0代码package step2;import java.util.Scanner;public class Task { public.
2021-11-12 18:19:10
1077
原创 学习-Java集合类之Set的TreeSet之整理电话簿
编程要求仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 间编写程序代码,整理给定的电话簿,具体要求如下: 接收给定的一行字符串(该字符串属于电话簿,包含多个电话号码,如:13545453432,13678909808); 使用 HashSet 去除电话簿中可能存在的重复电话号码; 按升序打印去重后的电话号码。 注意:电话簿中每个电话号码的分隔符是英文逗号。测试说明平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。例: 测试
2021-11-12 18:09:26
5401
原创 学习-Java集合类之List的ArrayList之增删改查
编程要求仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 间编写程序代码,创建 ArrayList 集合并使用它的增删改查方法,具体要求如下:接收给定的一行字符串(如:32 rfsd fwq g3r3qt t3q4t。); 通过空格(一个)切割字符串; 创建一个 ArrayList 集合; 将切割后的字符串元素添加至集合中; 删除集合的第一个和最后一个元素; 添加两个字符串:hello,educoder 至集合中; 修改集合的第三个元素,改为:list; 打印集合。测
2021-11-12 17:33:49
11357
原创 学习-Java集合类之Map的HashMap之常用方法的使用
任务描述本关任务:使用 HashMap 集合操作菜单。相关知识什么是 HashMapHashMap 是 Map 接口的实现类,它存储的内容是键值对(key-value)映射,其中 key、value 都可以为 null。HashMap 是无序的,即被存入到 HashMap 中的元素,在遍历 HashMap 时,其输出是无序的。创建 HashMap 集合使用以下代码即可创建一个 HashMap 集合。public static void main(String[] args
2021-11-05 18:40:34
5333
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人