9.冄2.7.號
让你难过的事情,有一天,你一定会笑着说出来。
展开
-
Java高级_反射方式获取成员方法并使用
反射方式获取成员方法并使用Method对象通过Class对象获取方法Method的常用方法案例:通过反射获取方法并使用需求:通过反射获取类的setter方法,使用该方法为属性赋值分析setter方法的方法名由set和属性名(首字母大写)组成: 举例:setName, setAgesetter方法有且只有一个参数,参数类型为属性的类型: 举例:setName(String name), setAge(int age)setter方法为public修饰的方法,反射获取该方法使用: getM原创 2021-04-10 00:57:03 · 164 阅读 · 0 评论 -
Java高级_反射方式获取成员变量并使用
反射方式获取成员变量并使用Field对象域(属性、成员变量)对象,属于java.base模块,java.lang.reflect包通过Class对象获取属性getField(String name) // 返回一个Field对象,仅公共属性 ,name :属性名getDeclaredField(String name) // 返回一个Field对象,可获取私有属性getDeclaredFields() // 返回此类所有(含私有)属性的数组Field的常用方法String getNa原创 2021-04-09 03:17:44 · 343 阅读 · 0 评论 -
Java高级_反射方式获取构造方法并使用
反射方式获取构造方法并使用Constructor对象构造器对象,属于java.base模块,java.lang.reflect包通过Class对象获取构造器对象getConstructor(Class<?>… parameterTypes)// 返回一个Constructor对象,仅公共构造函数// Class<?>… :可变参数,代表Class类型的数组// ? :通配符,代表不确定的任意类型getDeclaredConstructor(Class<?&g原创 2021-04-09 03:05:26 · 122 阅读 · 0 评论 -
Java高级_反射
学习目标理解反射的概念能够使用反射技术获取Class对象能够使用反射技术获取构造方法并使用能够使用反射技术获取成员方法并使用能够使用反射技术获取成员变量并使用反射概述原来的开发流程:程序代码是固定的,方法的执行顺序也是固定的源代码 -> 字节码 -> 运行使用反射:在需要的时候执行对应对象的方法,更改了程序执行的顺序,大大提高了程序的灵活性反射技术致力于构建通用的底层代码,让所有的模块调用,提高程序的扩展性。什么是反射?在程序运行过程中分析类的一种能力反射能做什原创 2021-04-09 02:39:20 · 94 阅读 · 0 评论 -
Java常用工具_IO流_字节流读写文件
字节流读写文件字节流拷贝文件 - 按单个字节读写字节流拷贝文件 - 按字节数组读写字节缓冲流拷贝文件的标准代码案例:模拟文件上传功能原创 2021-04-02 06:04:24 · 122 阅读 · 0 评论 -
Java常用工具_IO流_字符流读写文件
字符流读写文件字符流读数据 - 按单个字符读取字符流读数据 - 按字符数组读取字符流写数据 - 按单个字符写入字符流写数据 - 按字符数组写入字符流拷贝文件 - 按单个字符读写字符流拷贝文件 - 按字符数组读写字符缓冲流拷贝文件的标准代码...原创 2021-04-02 01:43:09 · 149 阅读 · 0 评论 -
Java常用工具_IO流_FIle类
概念文件,文件夹,一个File对象代表磁盘上的某个文件或文件夹构造方法File(String pathname):根据给定的字符串路径创建其对应File对象File(String parent, String child):根据给定的字符串形式的父目录和子文件(夹)名创建File对象.File(File parent, String child):根据给定的父目录对象和子文件(夹)名创建File对象.成员方法createNewFile():创建文件mkdir()和mkdirs():创.原创 2021-03-28 00:03:54 · 94 阅读 · 0 评论 -
Java常用工具_IO流_IO流概述
IO流概述什么是IO流I/O,即输入(Input)输出(Output),IO流指的是数据像连绵的流体一样进行传输。IO流能干什么在本地磁盘或网络上传输(读/写)数据IO流的分类按数据流向分输入流 输出流按操作方式分字节流:InputStream OutputStream字符流:Reader WriterIO流体系字符流:按字符读写数据的IO流ReaderFileReaderBufferedFileReaderWriterFileWriterBufferedF原创 2021-03-27 22:53:21 · 163 阅读 · 0 评论 -
Java常用工具_IO流_异常的处理方式
异常的处理方式JVM默认的异常处理方式开发中异常的处理方式异常处理的注意事项原创 2021-03-27 22:35:15 · 123 阅读 · 0 评论 -
Java常用工具_IO流_异常概述
学习目标理解异常的概念和分类能够根据需求正确处理异常理解IO流的概念和作用能够使用File类的常用功能能够使用字符流读写文件能够使用字节流读写文件能够使用字符缓冲流读写文件能够使用字节缓冲流读写文件异常概述什么是异常?即非正常情况,通俗地说,异常就是程序出现的错误。异常的分类(Throwable)异常(Exception)合理的应用程序可能需要捕获的问题 举例:NullPointerException(空指针异常)错误(Error)合理的应用程序不应该试图捕获的问题 举原创 2021-03-27 22:10:59 · 112 阅读 · 0 评论 -
Java常用工具_集合_案例:模拟斗地主发牌
案例:模拟斗地主发牌需求使用一个集合对象存储一副扑克牌,将所有扑克牌的顺序打乱,然后分发给用集合表示的三个玩家和底牌,并打印玩家和底牌的集合内容步骤买一副扑克牌 将花色和数字分别进行组合,生成所有的普通牌 手动添加“大王”、“小王”// 创建数字数组:String[] nums = {"3","4","5","6","7","8","9","10","J","Q","K","A","2"};// 创建花色数组:String[] colors = {"方片","梅花","红桃","黑桃"}原创 2021-03-25 23:37:56 · 155 阅读 · 0 评论 -
Java常用工具_集合_Map集合的特点和应用
Map集合的特点和应用Map集合的特点特点应用案例:Map集合的简单使用需求:向Map集合中添加三个元素,并遍历打印分析向map集合中添加元素的方法为:put()遍历集合的方式:获取所有的key:keySet()遍历keySet,通过key获取value:get()遍历keySet的方法:iterator()步骤创建集合对象:Map<Integer, Student> map = new HashMap<>();分别创建三个Student对象原创 2021-03-25 21:51:15 · 185 阅读 · 0 评论 -
Java常用工具_集合_Set集合的特点和应用
Set集合的特点和应用Set集合的特点特点不可重复、无序应用Set<T> set = new HashSet<>();案例:Set集合的简单使用需求:向Set集合中添加五个元素,并遍历打印分析向集合中添加元素的方法为:add()遍历集合的方式:迭代器获取集合中元素个数的方法:size()步骤创建集合对象:分别创建五个Student对象使用add()方法将Student对象添加到集合中使用迭代器遍历集合并打印,注意添加顺序和打印顺序是否相同原创 2021-03-25 00:38:56 · 127 阅读 · 0 评论 -
Java常用工具_集合_Collections工具类
Collections工具类Collections简介针对集合进行操作的工具类成员方法sort(List<T>,Comparator<T>):根据比较器规则对列表进行排序max(Collection<T>):返回集合的最大元素reverse(List<T>):反转List集合元素shuffle(List<T>):根据自然顺序返回最大元素...原创 2021-03-25 00:20:47 · 132 阅读 · 0 评论 -
Java常用工具_集合_泛型简介
泛型简介什么是泛型?即泛指任意类型,又叫参数化类型(ParameterizedType),对具体类型的使用起到辅助作用,类似于方法的参数。集合类泛型的解释表示该集合中存放指定类型的元素案例演示(给List集合加上泛型Student)List<Student> list = new ArrayList<>();泛型的好处类型安全,避免了类型转换...原创 2021-03-25 00:05:51 · 122 阅读 · 0 评论 -
Java常用工具_集合_增强for循环和迭代器
增强for循环和迭代器为什么需要增强for循环?简化数组和集合的遍历增强for循环的格式for(数据类型 变量名 : 数组或集合对象){ //循环体,变量即元素}案例演示(使用增强for循环遍历List集合)为什么需要迭代器对过程的重复,称为迭代迭代器是遍历Collection集合的通用方式,可以在对集合遍历的同时进行添加、删除等操作。迭代器的常用方法next():返回迭代的下一个元素对象hasNext():如果仍有元素可以迭代,则返回true案例演示(使用迭代器遍历List原创 2021-03-24 23:31:13 · 103 阅读 · 0 评论 -
Java常用工具_集合_List集合的特点和应用
List集合的特点和应用List集合的特点特点可重复、有序(存取顺序相同)应用List list = new ArrayList();案例:List集合的简单使用需求:向List集合中添加三个元素,并遍历打印分析向集合中添加元素的方法为:add()遍历集合的方式:for循环获取集合中元素个数的方法:size()步骤创建集合对象:List list = new ArrayList();分别创建三个Student对象使用add()方法将Student对象添加到集合中使用f原创 2021-03-24 23:14:12 · 107 阅读 · 0 评论 -
Java常用工具_集合概述
学习目标理解集合的概念能够说出Java集合体系结构及List、Set、Map三种集合的特点能够往List集合对象中添加自定义对象元素能够使用循环和迭代器遍历三种集合理解泛型的概念和作用集合概述什么是集合简称集,是用来存储多个元素的容器集合和数组的区别元素类型集合:引用类型(存储基本类型时自动装箱)数组:基本类型、引用类型元素个数集合:不固定,可以任意扩容数组:固定,不能改变容量集合的好处不受容器大小限制,可以随时添加、删除元素提供了大量操作元素的方法(判断、原创 2021-03-24 23:00:13 · 95 阅读 · 0 评论 -
Java常用工具_API_Java常用工具_API_基本类型的包装类
基本类型的包装类简介基本数据类型不是对象,所以Java针对基本数据类型提供了对应的包装类,以对象的形式来使用。装箱基本类型转包装类型(对象类型)拆箱包装类型(对象类型)转基本类型成员方法基本类型 parseXxx(String)将字符串类型的数据转换成对应的基本类型代码演示/* 基本类型的包装类 简介 基本数据类型不是对象,所以Java针对基本类型提供了对应的包装类,以对象的形式来使用。 基本类型原创 2021-03-21 22:33:58 · 89 阅读 · 0 评论 -
Java常用工具_API_Java常用工具_API_Date和Calendar类
Date和Calendar类简介日期和日历类。用于操作日期相关信息。构造方法Date()构造一个日期对象,当前系统时间,精确到毫秒Date(long)构造一个日期对象,时间为自1970年1月1日00:00:00 GMT起,至指定参数的毫秒数成员方法long getTime()将日期对象转换成对应时间的毫秒值static Calendar getInstance()根据当前系统时区和语言环境获取日历对象int get(int field)根据当前系统时区和语言环境获取日历对象v原创 2021-03-21 21:57:25 · 88 阅读 · 0 评论 -
Java常用工具_API_StringBuilder和StringBuffer类
StringBuilder和StringBuffer类简介构造方法成员方法原创 2021-03-21 20:25:43 · 106 阅读 · 0 评论 -
Java常用工具_API_String类
String类简介构造方法String(byte[])String(char[])成员方法boolean equals(String)判断当前字符串与给定字符串是否相同,区分大小写boolean equalsIgnoreCase(String)判断当前字符串与给定字符串是否相同,不区分大小写boolean startWith(String)判断是否以给定字符串开头int length()获取当前字符串的长度char charAt(int index)获取指定索引位置的字符i原创 2021-03-18 01:28:00 · 137 阅读 · 4 评论 -
Java常用工具_API_Scanner类
Scanner类简介扫描器。能够解析字符串(String)和基本数据类型的数据构造方法Scanner(InputStream): 构造一个扫描器对象,从指定输入流中获取数据参数System.in,对应键盘录入成员方法hasNextXxx()判断是否还有下一个输入项,其中Xxx可能是任意基本数据类型,返回结果为布尔类型nextXxx()获取下一个输入项,其中Xxx可能是任意基本数据类型,返回对应类型的数据String nextLine()获取下一行数据。以换行符作为分隔符。Strin原创 2021-03-15 23:34:35 · 154 阅读 · 0 评论 -
Java常用工具_API_Object类_JavaBean重写Object类的方法
JavaBean重写Object类的方法需求开发中通常需要将对象转成字符串形式进行传输,也需要对即将使用的对象进行相等判断。定义标准JavaBean类,重写toString和equals方法。步骤定义标准Java Bean类Student,属性:id,name,score重写toString()方法该对象的字符串表现形式,一般都是包含所有属性值且具有一定的格式的字符串重写equals()方法可以通过关键属性(id)来确定该类的两个对象是否相同,可以比较所有属性值在测试类中创原创 2021-03-15 21:21:55 · 141 阅读 · 0 评论 -
Java常用工具_API_Object类
Object类简介类层次结构最顶层的基类,所有类都直接或间接的继承自Object类,所以,所有的类都是一个Object(对象)。Java是严格的面向对象的语言,所以,所有的函数和数据都封装到类中(并非所有的编程语言都这样),通过类的对象来调用这些功能或实现某个算法。例外的情况是:Java的八种基本数据类型数据类型,它们由构造方法Object();构造一个对象。所有子类对象初始化时都会优先调用该方法。成员方法int hashCode()返回对象的哈希码值,该方法通过对象的地址值进行计算原创 2021-03-15 20:18:49 · 96 阅读 · 0 评论 -
Java常用工具_API_API简介
学习目标理解API的概念和作用能够根据需要找到API中对应的类和方法并使用能够根据API文档中的描述正确使用Object类中的toString()和equals()方法能够通过查阅API使用Scanner类的常用方法能够通过查阅API使用String类的常用方法能够通过查阅API使用StringBuilder/StringBuffer类的常用方法能够通过查阅API使用Date/SimpleDateFormat类的常用方法API简介什么是API?Application Programm原创 2021-03-13 23:26:18 · 148 阅读 · 0 评论 -
Java基础_Java编程思想_面向对象之接口成员的特点
接口成员的特点接口成员变量的特点接口没有成员变量,只有公有的、静态的常量:public static final 常量名 = 常量值;接口成员方法的特点JDK7及以前,公有的、抽象方法:public abstract 返回值类型 方法名();JDK8以后,可以有默认方法和静态方法:public default 返回值类型 方法名() {}static 返回值类型 方法名() {}JDK9以后,可以有私有方法:private 返回值类型 方法名() {}接口构造方法的特点接原创 2021-03-13 00:19:12 · 101 阅读 · 0 评论 -
Java基础_Java编程思想_面向对象之接口概述
接口概述接口的概念接口技术用于描述类具有什么功能,但并不给出具体实现,类要遵从接口描述的统一规则进行定义,所以,接口是对外提供的一组规则、标准。接口的定义定义接口使用关键字 interface:interface 接口名 {}类和接口是实现关系,用 implements 表示class 类名 implements 接口名代码演示//接口,表示抽烟的功能public interface Smoking { //成员方法 public abstract void smo原创 2021-03-13 00:03:40 · 113 阅读 · 0 评论 -
Java基础_Java编程思想_面向对象之static关键字
static关键字static的概念静态的static的作用用于修饰类的成员 : 成员变量:类变量 成员方法:类方法调用方式类名. 成员变量名; 类名. 成员方法名(参数);static修饰成员变量特点被本类所有对象共享需求:定义研发部成员类,让每位成员进行自我介绍分析A:研发部成员统称为开发者,定义类Developer。B:每位开发者所属部门相同,所以属性departName用static修饰: public static String departName = "研发部";原创 2021-03-12 23:25:42 · 97 阅读 · 0 评论 -
Java基础_Java编程思想_面向对象之final关键字
final关键字final的概念最终的、最后的。final的作用用于修饰类、方法和变量。修饰类该类不能被继承:System、String修饰方法该方法不能被重写,不能与 abstract 共存。修饰变量最终变量,即常量,只能赋值一次 不建议修饰引用类型数据,因为仍然可以通过引用修改对象的内部数据,意义不大。代码演示//人类public class Person {}//员工类public class Employee/* extends Person*/ { //原创 2021-03-12 23:08:10 · 108 阅读 · 0 评论 -
Java基础_Java编程思想_面向对象之抽象类的特点
抽象类的特点抽象类的特点修饰符:修饰符 abstract class 类名 {}修饰符 abstract 返回类型 方法名 {}抽象类不能被实例化,只能创建子类对象抽象类子类的两个选择重写父类所有的抽象方法定义成抽象类抽象类成员的特点成员变量可以有普通的成员变量,也可以有成员常量(final)成员方法可以有普通方法,也可以有抽象方法 抽象类不一定有抽象方法,有抽象方法的类一定是抽象类(或接口)构造方法像普通类一样有构造方法,且可以重载代码演示//父类, 动物类(抽原创 2021-03-12 22:29:32 · 152 阅读 · 0 评论 -
Java基础_Java编程思想_面向对象之抽象类概述
抽象类概述抽象类的由来父类默认的eat方法已过时,所有子类都需要重写,所以将父类eat的方法体没有意义;但是每个动物都必须拥有eat功能,所以将父类eat定义成抽象方法。抽象类的概念包含抽象方法的类。用 abstract 修饰。抽象方法的概述只有方法声明,没有方法体的方法,用 abstract 修饰。抽象方法的由来当需要定义一个方法,却不明确方法的具体实现时,可以将方法定义为 abstract,具体实现延迟到子类。代码演示//父类, 动物类(抽象类)public abstr原创 2021-03-12 22:05:15 · 122 阅读 · 0 评论 -
Java基础_Java编程思想_面向对象之多态的好处和弊端
多态的好处和弊端多态的好处可维护性基于继承关系,只需要维护父类代码,提高了代码的复用性,大大降低了维护程序的工作量为什么要学习多态从程序的模块化和复用性来解释封装:隐藏数据的实现细节,让数据的操作模块化,提高代码复用性继承:复用方法,从对象的行为这个层面,提高代码的复用性多态:复用对象,程序运行时同一个对象表现出不同的行为可扩展性把不同的子类对象都当作父类看待,屏蔽了不同子类对象间的差异,做出通用的代码,以适应不同的需求,实现了向后兼容多态的弊端不能使用子类特有成员解决办法原创 2021-03-12 21:45:53 · 213 阅读 · 0 评论 -
Java基础_Java编程思想_面向对象之多态概述
学习目标理解多态的概念、好处和弊端原创 2021-03-12 21:29:23 · 146 阅读 · 0 评论 -
Java基础_Java编程思想_面向对象之Java中继承的特点
单继承Java只支持类的单继承,但是支持多层(重)继承Java支持接口的多继承,语法为: 接口A extends 接口B,接口C,接口D...私有成员不能继承只能继承父类的非私有成员(成员变量、成员方法)构造方法不能继承构造方法用于初始化本类对象。创建子类对象时,需要调用父类构造初始化该对象的父类内容,若父类构造可以被继承,该操作会造成调用的混乱。继承体现了“is a”的关系子类符合“is a(是一个)”父类的情况下,才使用继承,其它情况不建议使用...原创 2021-03-11 23:37:23 · 115 阅读 · 0 评论 -
Java基础_Java编程思想_面向对象之继承关系中类成员的使用
继承关系中类成员的使用继承关系中子父类成员变量的使用需求:子父类中定义了同名的成员变量,如何使用?分析A:子类中定义成员变量int price,默认值为10B:父类中定义成员变量int price,默认值为20C:子类成员方法中定义局部变量int price,值为5D:在子类成员方法中分别输出三个price的值图解代码演示//父类public class Fu { int num = 30;}//子类public class Zi extends Fu {原创 2021-03-11 22:51:34 · 290 阅读 · 0 评论 -
Java基础_Java编程思想_面向对象之继承的优缺点
继承的优缺点程序设计的追求高内聚,低耦合耦合两个(或更多)模块相互依赖于对方内聚模块内部结构紧密,独立性强齿轮,两个紧密的齿轮分离开之后,整个系统可能无法运转;氨基酸分子:氨基酸是蛋白质的主要构成,氨基酸从蛋白质分离之后,还可以自由的和其它氨基酸再组成新的蛋白质,因为它内部结构完整;类似的例子还有:U盘:随意拔插,因为其内部结构完整,不依赖任何一台特定的设备...原创 2021-03-11 21:54:40 · 117 阅读 · 0 评论 -
Java基础_Java编程思想_面向对象之继承的使用场景
继承的使用场景子类通过继承,拥有了父类的非私有成员,这是开发中常见的做法,那么,继承还有哪些使用场景呢?向上抽取多个类中存在相同的属性和行为时,可以将这些内容提取出来放到一个新类中,让这些类和新类产生父子关系,实现代码复用。向下扩展当需要扩展已有的类的功能时,可以通过继承已有的类,在子类中添加新功能或重新实现已有功能,对父类(已有的类)没有影响。案例:定义继承关系的动物类并使用需求分别定义Dog类、Mouse类、Pig类,它们共有的属性有:name、age、sex,共有的行为有:ea原创 2021-03-11 21:44:34 · 603 阅读 · 0 评论 -
Java基础_Java编程思想_面向对象之继承概述
学习目标能够理解继承的概念和好处能够说出继承的优缺点和使用场景能够定义类的继承关系并正确使用理解方法重写的概念,并能够重写父类方法能够说出方法重写和方法重载的区别能够正确使用Java的四种访问权限修饰符能够说出Java中类的继承的特点继承概述继承的概念泛指把前人的作风、文化、知识、财产等接受过来Java中的继承通过扩展一个类来建立另外一个类的过程,叫做继承(inheritance)通俗的说,所谓继承,就是让类与类之间产生父子关系所有的类都直接或间接的继承自:java.lan原创 2021-03-11 21:24:56 · 122 阅读 · 0 评论 -
Java基础_Java编程思想_面向对象之封装概述
什么是封装?基本义把物体打包装到箱子里,然后封起来。引申义把一系列功能打包到一台设备里,提供使用这些功能的界面。常见的封装体汽车、电脑、洗衣机…封装的好处提高安全性提高复用性将复杂的事情简单化思考:Java中哪些内容提现了封装?方法、类…方法的封装性:将繁多的代码整合在一起,以一个方法的形式呈现,所以方法是一个封装体类的封装性:现实事物的属性和行为都包含在了类中,所以类也是一个封装体Java中的封装体方法安全性:调用者不知道方法的具体实现复用性:方法可以被重复原创 2021-03-11 03:36:55 · 138 阅读 · 0 评论