javaSE
文章平均质量分 89
满眼*星辰
一名努力学习编程的大三学生
展开
-
总结Java中反射+枚举+Lambda表达式
反射定义Java的反射(reflection)机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性,既然能拿到那么,我们就可以修改部分类型信息;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射(reflection)机制。基本信息Java程序中许多对象在运行时会出现两种类型:运行时类型(RTTI)和编译时类型,例如Person p = new Student();这句代码中p在编译时类型为Person,运行时类型为Stu原创 2021-05-11 14:37:14 · 1009 阅读 · 0 评论 -
总结java的泛型和内部类
泛型与内部类泛型内部类实例内部类静态内部类匿名内部类本地内部类泛型泛型是java1.5中增加的一个新特性,通过泛型可以写与类型无关的代码,即编写的代码可以被很多不同类型的对象所重用,经常用在一些通用的代码实现中,比如:java集合框架中的类几乎都是用泛型实现的。泛型的本质是:类型参数化。类似函数传参一样,传递不同的实参,函数运行完将会产生不同的结果。泛型12点总结class MyStack< T> 此时< T>代表是一个占位符,表示当前类是一个泛型类this.elem原创 2021-05-05 19:00:33 · 381 阅读 · 1 评论 -
深入理解java中String类
创建字符串创建字符串常见3中方式直接赋值String str = "Hello";new对象赋值String str2 = new String("Hello");数组转换字符串char[] array = {'H', 'e', 'l','l','o'};String str3 = new String(array);三种赋值的内存结构...原创 2021-02-25 21:44:24 · 222 阅读 · 4 评论 -
深入理解java异常处理机制
异常常见的异常异常体系防御式编程捕获异常finally关键字异常处理流程抛出异常声明异常自定义异常常见的异常除以 0System.out.println(10 / 0);// 执行结果Exception in thread "main" java.lang.ArithmeticException: / by zero数组下标越界int[] arr = {1, 2, 3};System.out.println(arr[100]);// 执行结果Exception in threa原创 2021-02-22 17:01:57 · 209 阅读 · 0 评论 -
图书管理小系统--整理复习javaSE语法
分析对象在做一个项目的时候,先要搭建项目的架构,首先分析,图书管理系统,需要有书,人,操作等对象,我们将其分为book书:Book(图书)、BookList(存放图书的书架)user人:AdminUser(管理员)、NormalUser(普通用户)operation操作:增删查改Main类,程序的主入口搭建框架1、定义被继承对象User在User中编写构造方法以及用户菜单public abstract class User { public String name;原创 2021-02-22 14:24:10 · 1093 阅读 · 14 评论 -
深入理解java的 抽象类和接口
抽象类和接口抽象类语法规则注意事项接口理解接口常见的两个接口ComparableComparatorCloneable抽象类语法规则没有实际工作的方法, 比如上篇文章的Shape类, 我们可以把它设计成一个 抽象方法(abstractmethod), 包含抽象方法的类我们称为 抽象类(abstract class)abstract class Shape { abstract public void draw();}在 draw 方法前加上 abstract 关键字, 表示这是一个抽象方法原创 2021-02-21 15:04:24 · 1629 阅读 · 16 评论 -
深入了解java中的多态
多态向上转型Animal animal = new Bird();像这种形式,父类的引用指向一个子类的实,这种称之为向上转型父类的引用只能访问自己的东西,不能访问子类特有的属性或者方法一句话概括:父类引用 引用 子类对象向上转型发生的时机:共三种:直接赋值 Animal animal = new Bird();方法传参public static void func(Animal animal) { }public static void main(String[原创 2021-02-21 10:29:52 · 294 阅读 · 1 评论 -
深入了解java中的包和继承
包(package)是组织类的一种方式.使用包的主要目的是保证类的唯一性.包的规范一般采用域名的倒置,并且全部为小写,例如:www.baidu.com所以包就可以这样设置原创 2021-02-20 21:12:42 · 1458 阅读 · 16 评论 -
详解--时间复杂度与空间复杂度
时间、空间复杂度算法效率时间复杂度空间复杂度算法效率算法效率分析分为两种:第一种是时间效率,第二种是空间效率。时间效率被称为时间复杂度,而空间效率被称作空间复杂度。 时间复杂度主要衡量的是一个算法的运行速度,而空间复杂度主要衡量一个算法所需要的额外空间,在计算机发展的早期,计算机的存储容量很小。所以对空间复杂度很是在乎。但是经过计算机行业的迅速发展,计算机的存储容量已经达到了很高的程度。所以我们如今已经不需要再特别关注一个算法的空间复杂度时间复杂度我们先来看这个函数 void func1原创 2021-02-10 09:41:11 · 421 阅读 · 0 评论 -
java中详解类和对象
面向过程和面向对象C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。JAVA是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。面向过程注重的是过程,在整个过程中所涉及的行为,就是功能。面向对象注重的是对象,也就是参与过程所涉及到的主体。是通过逻辑将一个个功能实现连接起来【面向对象概念】面向对象是思考问题的一种思考方式,是一种思想。比如:概念与实例。理论与实践。名和实等等。类就是一类对象的统称。对象就是这一类具体化的一个实例原创 2021-02-09 14:29:05 · 1017 阅读 · 0 评论 -
java中数组的定义与使用
数组的定义数组共有三种定义方式1.定义且初始化一个数组(静态初始化)int[] array1 = {1,2,3,4,5};2.定义了一个数组,但是没有初始化,用new关键字创建数组对象int[] array2 = new int[5];3.动态初始化数组int[] array3 = new int[]{1,2,3,4,5};数组的存储数组又称数组对象,他是怎么一个存储的过程呢,下面用我画的图演示在栈和堆上这样存储:那么,引用一定在栈上吗?不一定,因为只有当引用作为局部变量时原创 2021-02-08 14:02:49 · 23737 阅读 · 5 评论 -
java中方法的使用
方法的使用1.方法存在的意义2.方法中的注意点3.方法执行过程4.形参与实参5.方法的重载6.递归1.方法存在的意义是能够模块化的组织代码(当代码规模比较复杂的时候).做到代码被重复使用, 一份代码可以在多个位置使用.让代码更好理解更简单.直接调用现有方法开发, 不必重复造轮子2.方法中的注意点Java当中的方法一定是写在类里面的,代码书写在调用位置的上方或者下方均可方法的名称一定是小驼峰maxNum方法需要运行在栈上,任何一个方法调用,需要在栈上开辟一个栈帧方法定义时, 参数可以原创 2021-02-07 20:04:06 · 1318 阅读 · 1 评论 -
java基本数据类型与运算符
数据类型与运算符变量与类型1、java中常用的基本数据类型2、final关键字3、类型转换4、类型提升5、异常运算符6、逻辑运算符7、位运算符8、移位运算符8、条件运算符变量与类型1、java中常用的基本数据类型总结的较为重要的知识点:数据类型的大小和操作系统是多少位没有关系基本数据类型对应的包装类型:两个特殊的 char—Charcater,int—Integer,别的首字母大写在字符变量中:计算机中的字符本质上是一个整数. 在 C 语言中使用 ASCII 表示字符, 而 Java 中使用原创 2020-12-27 18:26:00 · 861 阅读 · 1 评论 -
初识java内存、组成等知识点
1、java程序的运行过程Java程序运行需要经过编译,运行两个阶段。编译:javac 命令运行:java 命令2、JKD,JRE,JVM三者区别三者是包含的关系,如图JDK(Java Development Kit):Java开发工具包,提供给Java程序员使用,包含了JRE,同时还包含了编译器javac与自带的调试工具Jconsole、jstack等。JRE(Java Runtime Environment):Java运行时环境,包含了JVM,Java基础类库。是使用Java语言原创 2020-12-27 17:18:13 · 208 阅读 · 1 评论