接着前面的登录模块的进化史,带大家回顾java学习历程(一) 继续往下面讲 前面我们去实现登录功能,都是想着要完成这个功能,直接在处理实际业务的类中去开始写具体的代码一步步实现,也就是面向过程的编程. 那么现在我们站在设计的角度上去实现该如何做呢?实际上在项目开发的时候,需求规划和数据库设计好之后,我们开始写代码,往往只用写一些接口出来,接口里面只有一些各个业务对应的空方法,没有具体的实现,在架构师进行接口设计的时候,就已经想好了该功能之后通过实现与调用这个接口肯定是可以实现的,等各个功能相关的…
一直在想着写点特别点的东西,让有兴趣学编程的人确实能学到点干货,今天就来随意写写. 大家在网上查找资料看到最多的demo估计就是登陆功能的演示了,为何大家偏爱拿登陆来做demo呢?因为行业应用类程序的核心就是为了让用户能与数据进行交互,对于一个高级DBA来说的话,他与数据的交互可以直接与数据库进行打交道,而对于小白用户来说的话就需要非常友好的UI与数据进行交互,那么就需要各种编程语言工具来实现这个过程了.而我们开发一个应用类软件,主要要对需求业务充分了解之后才能进行开发,比如开发一个财务类软件,…
学号 20189214 <Java程序设计>第二周学习总结 教材学习内容总结 java类 创建java对象需要类似的模板,即类(class) java对象也拥有属性和能够执行的动作. 属性叫做字段(field),而动作叫作方法(method) 字段和方法都是可选的 类是java程序的基本构建模块.java中的所有的程序元素,必须位于一个类中.一个公有类的定义必须存放在一个文件中,这个文件名要和类名相同. 构造方法 每个类至少有一个构造方法.如果没有显式地为类定义构造方法,Java编译器将会为该…
java当中的二维数组,存储一组比较特殊的对象.他存储一个数组,同时存储的数组当中又存储着元素. java二维数组的声明方式一: class Arr2Demo { public static void main(String[] args) { /** *二维数组的定义格式:元素类型[][] 数组变量名称 = new 元素类型[3][];第一个维度必须 *确定,也就是第一个方括号 */ int[][] arr = new int[3][]; } } 二维数组出现的意义,二维数组之所以会出现是因为…
前言 简介 Semaphore 中文称信号量,它和ReentrantLock 有所区别,ReentrantLock是排他的,也就是只能允许一个线程拥有资源,Semaphore是共享的,它允许多个线程同时拥有资源,是AQS中共享模式的实现,在前面的AQS分析文章中,我也是用Semaphore去解释共享锁的 现实中,我们火爆一点儿的饭店吃饭,比如海底捞,为什么我们需要排队,是因为里面只能容纳这么多人吃饭,位置不够了,我们就要去排队,有人吃完出来了才能有新的人进去,同样的道理 使用 下面还是常规流程…
线程与进程(了解)→JVM→字节码→GC 一.程序 = 算法 + 数据结构(大佬) 二.程序 = 框架 + 业务逻辑(现实) 1.线程与进程.同步与异步 1.1进程是什么? 进程就是操作系统控制的基本运行单元,说白了就是Java运行程序. 1.2什么是线程? 进程中独立运行的子任务就是一个线程 1.3什么是多线程(异步)? 多线程是多个子任务进行交替执行.例如:有A.B两个任务,A先执行,再执行B,如果是单线程执行,则需要等A先执行完之后才能够执行B:而多线程的话是A与B来回交换执行.这样可以让…
下面这段实例实现了以下功能: 1. profile使用用户本地电脑上的 (selenium 3有问题.因为selenium 3把profile复制到一个temp文件夹里,但并不复制回去.所以每次打开仍是一个空的浏览器.问题待解决) 2. 取出多个跳出框的title和内容 3. 验证打开页面的title是否正确 4. 获取页面弹出框中的验证码 package com.qiujy.testweb_mvn; import java.io.File; import java.io.IOException…
弄清楚类与对象的本质与基本特征,是进一步学习面向对象编程语言的基本要求.面向对象程序设计与面向过程程序设计在思维上存在着很大差别,改变一种思维方式并不是一件容易的事情. 一.面向对象程序设计 程序由对象组成,对象包含对用户公开的特定功能部分,和隐藏在其内部的实现部分.从设计层面讲,我们只关心对象能否满足要求,而无需过多关注其功能的具体实现.面对规模较小的问题时,面向过程的开发方式是比较理想的,但面对解决规模较大的问题时,面向对象的程序设计往往更加合适. 类 对象是对客观事物的抽象,类是对对象的抽…
标识符 定义 标识符的定义:对各种变量.方法和类等要素命名时使用的字符序列成为标识符. 简单地说,就是凡是自己可以起名字的地方都叫标识符,都要遵守标识符的规则. 命名规则 标识符只能由字母.下划线"_".美元符号"$"或数字组成 标识符只能以字母.下划线或美元符开头 标识符不能是Java关键字和保留字 标识符大小写敏感,长度无限制 约定俗成 为了能使Java代码更好地维护和美观,通常写Java代码是都会遵循一些约定俗成的规矩,如下: 标识符要起的见名知意,可以由多个…
JDK介绍及其结构.用途 1.JDK的介绍 JDK是Java Development Kit 的缩写.是Sun Microsystems针对Java开发员的产品.它由一个处于操作系统层之上的执行环境还有开发人员编译,调试和执行用Java语言写的applet和应用程序所需的工具组成.想要开发java产品,需先安装JDK. (1).JDK包括的基本组件包括: javac – 编译器,将源程序转成字节码: jar – 打包工具,将相关的类文件打包成一个文件. javadoc – 文档生成器.从源代码凝…
升序:      选择排序:         选定一个元素,一次和后面的元素相比较,如果选定的元素大雨后面的比较元素,就交换位置         先出现最小值,最后出现最大值. public static void main(String[] args) { int[] arr = {5,8,9,12,55,565,421,12,2512,-5,-56}; sortMethod(arr); p(arr); } //排序核心代码 private static void sortMethod(int…
1.环境变量包括: JAVA_HOME,CLASSPATH,PATH 2.设置环境变量的目的: 路径搜索,方便查找到jdk的安装路径.方便搜索用到的类文件.方便搜索用到的可执行文件如java,javac等. 3.各环境变量的含义: ①.JAVA_HOME,指向jdk的安装目录,通过搜索JAVA_HOME来找到jdk. ②.CLASSPATH,指定类文件的搜索路径,通过搜索CLASSPATH,看是否能找到使用的类文件. ③,PATH,指定命令的搜索路径,通过搜索PATH,看是否能找到要执行的命令.…
学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍.这一部分的内容,同样适用于一些希望转行到Java的同学. 在大家看之前,我要先声明两点.1.由于我本人是Java后端开发出身,因此所推荐的学习内容是Java Web和Java后端开发的路线,非Java Web和Java后端开发的同学请适当参考其学习思想即可,切勿照搬.2.下…
种访问权限,而类的访问控制级别只有public和缺省的,当为public时,可以被任何包的其他类访问,当为缺省时,只能被同一包的其他类访问.如果类自身对另一个类是不可见的,即使类的成员声明为public,也没有一个成员是可见的. 2.    Final变量一旦被显式的赋值(不能默认初始化),就不能再赋值了. 3.    用final修辞的应用变量,不能重新引用另一个变量,但是可以所引用对象的数据. 4.    一个类中,静态方法只能处理静态变量:静态方法只能调用静态方法. 5.    方法修饰符…
GitHub代码练习地址:https://github.com/Neo-ML/JavaPractice/blob/master/Intpractice3.java 一  Java中的数据类型 Java中的数据类型主要分为两大类:基本数据类型和引用数据类型.基本数据类型共有8种,分别是:布尔型boolean, 字符型char和数值型byte/short/int/long/float/double.由于字符型char所表示的单个字符与Ascii码中相应整形对应,因此,有时也将其划分到数值型中.引用类…
String使用的equals方法和==的区别 equals方法和==的区别   首先大家知道,String既可以作为一个对象来使用,又可以作为一个基本类型来使用.这里指的作为一个基本类型来使用只是指使用方法上的,比如String s = "Hello",它的使用方法如同基本类型int一样,比如int i = 1;,而作为一个对象来使用,则是指通过new关键字来创建一个新对象,比如String s = new String("Hello").但是它的内部动作其实还是…
对象 类的实例(通俗点讲,new出来的玩意好像都是对象?初学者的感觉,不造对错啊,有大神给我解释下可以啊) 类 class嘛,模板嘛,可以给对象实例的嘛 方法 行为,学编程的,方法,这玩意心里都懂吧,用前端的话,function嘛 实例变量 每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定. (实例嘛就是对象嘛,就是对象的变量嘛) 语法 类名首字母大写,多个单词每个单词都首字母大写 方法名首字母小写,多个单词除了首字母其他单词首字母大写 大小写区分 所有的Java 程序由public…
一个Java面向对象的小练习 一:项目需求与解决思路: 学习了这么长时间的面向对象,我们只是对面向对象有了一个简单的认识,我们现在来做一个小练习,这个例子可以使大家更好的掌握面向对象的特性: 1.人类都有说话的能力,那我们可不可以使用计算机程序来描述其特征呢. 2.如果是中国人,那么他的语言能力就直接输出中国人说中国话.如果是美国人,那么他的语言能力就直接输出美国人说美国话. 3.分别在测试类中创建两个对象,创建了中国人对象的话,他应该说的是中国话,创建了美国人的话,他应该说的是英语. 4.那么…
一.运算符 赋值运算符:=  +=  -=  *=  /=  %= 算术运算符:+ - *  /  %   ++   -- int x = 3;  int y = 4   int c = x*1.0 /y; //得到小数,乘以1.0,是将int类型转换为浮点类型.php中不用转换. a++ (--)在前先自加(减),后赋值,a++ (--)在后先赋值,后自加(减): int  x= 4; int c = (x++)+(++x)+(x*10)   // 结果为70  c = 4 + 6 + 6*1…
Java中的接口 一:Java的接口: 接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明.一个类通过继承接口的方式,从而来继承接口的抽象方法. 接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念.类描述对象的属性和方法.接口则包含类要实现的方法. 除非实现接口的类是抽象类,否则该类要定义接口中的所有方法. 接口无法被实例化,但是可以被实现.一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类…
Java中的抽象类 一:Java抽象类: 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类. 抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量.成员方法和构造方法的访问方式和普通类一样. 由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用.也是因为这个原因,通常在设计阶段决定要不要设计抽象类. 父类包含了子类集合的常见的方法,但是由于父类本身是抽象的,所以不能…
Java多态中的引用类型转换 引用类型转换: 1.向上类型转换(隐式/自动类型转换),是小类型到大类型的转换: 2.向下类型转换(强制类型转换),是大类型到小类型的转换: 3.instanceof运算符,来解决引用对象的类型,避免类型转换的安全性问题: 向上类型转换是没有风险的,可以类比为一个杯子里的水倒入一个壶里(当然这个壶肯定容量比杯子要大),但是向下类型转换是有风险的,这就相当于一壶水向杯子里倒,肯定会有溢出. 举一个例子: Initail.java: package com.test;…
Java面向对象的三大特性之多态 一:什么是多态: 多态是同一个行为具有多个不同表现形式或形态的能力. 多态就是同一个接口,使用不同的实例而执行不同操作. 多态性是对象多种表现形式的体现. 现实中,比如我们按下 F1 键这个动作: 如果当前在 Flash 界面下弹出的就是 AS 3 的帮助文档: 如果当前在 Word 下弹出的就是 Word 帮助: 在 Windows 下弹出的就是 Windows 帮助和支持. 同一个事件发生在不同的对象上会产生不同的结果. 二:多态的优点: 1. 消除类型之间…
Java中的Object类 一:什么是Object类: Object类是所有类的父类,相当于所有类的老祖宗,如果一个类没有使用extends关键字明确标识继承另外一个类,那么这个类默认继承Object类. Object类中的方法,适合所有子类. 二:toString()方法: 在OBject类里面定义toString()方法的时候返回的对象的哈希code码(对象地址字符串). 如果我们在代码里直接输出一个对象,你会发现它输出的这个对象在内存中的地址,我们把它称为哈希码,它是通过哈希算法生成的一个…
Java的继承初始化顺序 当使用继承这个特性时,程序是如何执行的: 继承的初始化顺序 1.初始化父类再初始子类 2.先执行初始化对象中属性,再执行构造方法中的初始化 当使用继承这个特性时,程序是如何执行的呢,也就是说我们需要关注继承的初始化顺序,当我们创造一个对象的时候,所执行的构造方法就相当于初始化一个对象,所以如果我们需要证明初始化一个对象的时候,它是不是会先初始化父类,然后初始化子类 初始化其实就相当于执行类的构造方法,所以我们只需要重写构造方法,在类的构造方法中输出一句话,看它到底是什么…
Java的方法重写 一:什么是方法的重写: 如果子类对继承父类的方法不满意,是可以重写父类继承的方法的,当调用方法时会优先调用子类的方法. 语法规则 返回值类型.方法名.参数类型及个数都要与父类继承的方法相同,才叫方法的重写 方法重写是指:子类中定义一个方法,并且这个方法的名字.返回值类型.参数个数和类型与从父类继承的方法完全相同. 方法的重写必须满足以下要求(从方法的五要素来分析):(1)要有继承:(2)方法名,参数列表要相同:(3)访问修饰符不能比父类窄:也就是说,父类的public方法在重…
Java面向对象的三大特性之继承 一:继承的概念: 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类. 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为. 继承是类与类的一种关系,是一种“is a”的关系 如下面这个例子: 兔子和羊属于食草动物类,狮子和豹属于食肉动物类. 食草动物和食肉动物又是属于动物类. 所以继承需要符合的关系是:is-a,父类更通用,子类更具体. 虽然食草动物和食肉动物都是属…
Java中的内部类 一:什么是内部类: (1).什么是内部类呢? 内部类( Inner Class )就是定义在另外一个类里面的类.与之对应,包含内部类的类被称为外部类. (2).那为什么要将一个类定义在另一个类里面呢?独立的一个类不好吗? 内部类的主要作用如下: 1. 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类 2. 内部类的方法可以直接访问外部类的所有数据,包括私有的数据 3. 内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便 (…
Java开发工具Eclipse的安装与使用 正如office一样我们在开发java语言过程中同样需要依款不错的开发工具,目前市场上的IDE很多,这里只演示Eclipse的安装: 一:下载软件: 1.下载地址:http://www.eclipse.org/ 我这里是64位操作系统所以选64bit 二:安装eclipse: 解压后点击eclipse.exe即可使用 接下来就可以使用了 三:创建一个Java工程: 1.选择File下new下的Java project 2.输入工程名 这里输入test然…
5.运算符:变量的意义就在于可以进行运算,运算需要用运算符来表示,分为以下几种 class test { public static void main(String[] args) { //赋值运算符 =(赋值) +=,-=,*=,/= int a=1234,b; /*算数运算符 +(加) -(减) *(乘) /(除) %(取余) ++(自增) --(自减) +(字符串连接) *1.除法运算结果自动转换为int型. *2.取余结果的正负取决于被除数 *3.任何类型变量和 字符串 进行+操作,都…