------- android培训、 java培训、期待与您交流! ----------
生命不息,奋斗不止!做个斗士!!!!!
1:登录注册案例
需求:用户登录注册案例。

按照如下的操作,可以让我们更符号面向对象思想
A:有哪些类呢?
B:每个类有哪些东西呢?
C:类与类之间的关系是什么呢?

分析:
A:有哪些类呢?
用户类
测试类
B:每个类有哪些东西呢?
用户类:
成员变量:用户名,密码
构造方法:无参构造
成员方法:getXxx()/setXxx()
登录,注册

假如用户类的内容比较对,将来维护起来就比较麻烦,为了更清晰的分类,我们就把用户又划分成了两类
用户基本描述类
成员变量:用户名,密码
构造方法:无参构造
成员方法:getXxx()/setXxx()
用户操作类
登录,注册
测试类:
main方法。
C:类与类之间的关系是什么呢?
在测试类中创建用户操作类和用户基本描述类的对象,并使用其功能。

分包:
A:功能划分
B:模块划分
C:先按模块划分,再按功能划分

今天我们选择按照功能划分:
用户基本描述类包 cn.itcast.pojo
用户操作接口 cn.itcast.dao
用户操作类包 cn.itcast.dao.impl

public interface UserDao {/*** 这是用户登录功能* * @param username*            用户名* @param password*            密码* @return 返回登录是否成功*/public abstract boolean isLogin(String username, String password);/*** 这是用户注册功能* * @param user*            要注册的用户信息*/public abstract void regist(User user);
}
public class UserDaoImpl implements UserDao {// 为了让多个方法能够使用同一个集合,就把集合定义为成员变量// 为了不让外人看到,用private// 为了让多个对象共享同一个成员变量,用staticprivate static ArrayList<User> array = new ArrayList<User>();@Overridepublic boolean isLogin(String username, String password) {// 遍历集合,获取每一个用户,并判断该用户的用户名和密码是否和传递过来的匹配boolean flag = false;for (User u : array) {if (u.getUsername().equals(username)&& u.getPassword().equals(password)) {flag = true;break;}}return flag;}@Overridepublic void regist(User user) {// 把用户信息存储集合// ArrayList<User> array = new ArrayList<User>();array.add(user);}
}
public class User {// 用户名private String username;// 密码private String password;public User() {}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}
}
public class UserTest {public static void main(String[] args) {// 为了能够回来while (true) {// 欢迎界面,给出选择项System.out.println("--------------欢迎光临--------------");System.out.println("1 登录");System.out.println("2 注册");System.out.println("3 退出");System.out.println("请输入你的选择:");// 键盘录入选择,根据选择做不同的操作Scanner sc = new Scan

黑马程序员_Java(登陆注册案例,set集合,map集合,Collections)相关推荐

  1. 黑马程序员_java自学学习笔记(八)----网络编程

    黑马程序员_java自学学习笔记(八)----网络编程 android培训. java培训.期待与您交流! 网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很长一段时间无 ...

  2. 黑马程序员_java高级篇网络编程TCP实战Day8(上)

    ---------------------ASP.Net+Android+IOS开发.Net培训.期待与您交流! ----------- 黑马程序员_java高级篇网络编程TCP实战Day8(上) ( ...

  3. 黑马程序员-学成在线案例-版权部份

    黑马程序员-学成在线案例-版权部份 一.设置大盒子 因为上一层盒子没有设置高度且所有子集都浮动了,所以必须先清除上一标签的浮动.即添加clearfixcss 标签 再设置一个版心wrapper css ...

  4. 黑马程序员_JAVA相关基础知识

    ------- android培训.java培训.期待与您交流! -------- JAVA相关基础知识 1.面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便 ...

  5. 黑马程序员_Java解析网络数据流的三种特殊方法

    Java解析网络数据流的三种特殊方法 Java作为最开放的语言,已越来越受到网络程序员的青睐.但这一青睐族有着同样的经历--曾经都为网络上通信的Java数据格式而烦恼. 笔者也不例外,曾经为此而查阅了 ...

  6. 黑马程序员_Java基础Day05_面向对象之封装(Done)

    ------- android培训.java培训.期待与您交流! ---------- Day05开始接触到了Java核心部分--"面向对象". 面向对象是一种思考思想,是相对于早 ...

  7. 黑马程序员_java基础笔记(06)...集合

    ---------- ASP.Net+Android+IOS开发..Net培训.期待与您交流! ---------- JavaApi(其实就是java给我们提供的已经定义好的对象.工具对象:集合框架) ...

  8. 黑马程序员_Java基础_前期准备02-1

    ---------------------------------------- JavaEE+云物联.期待与您交流!----------------------------------------- ...

  9. 黑马程序员《JavaWeb程序设计案例教程》_课后习题答案

    第一章 [测一测] 学习完前面的内容,下面来动手测一测吧,请思考以下问题: 1.请描述HTML.CSS.DOM.JavaScript分别表示的含义. 2.请列举出HTML常用的标记.(至少10个) 3 ...

最新文章

  1. 大数据调度平台Airflow(一):什么是Airflow
  2. 【Zookeeper】Zookeeper一致性协议——ZAB
  3. 协作工具 discord 和 slack
  4. php安装 pear,php pear / pecl 扩展工具的安装和使用
  5. 关于@DateTimeFormat 和 @JsonFormat 注解
  6. (数据库系统概论|王珊)第六章关系数据理论-第一节:为什么要研究关系数据理论
  7. ASP.NET Core 系列视频完结,新项目实战课程发布。
  8. sql server数据库的部署
  9. linux异构内存,Linux内核添加异构内存管理(HMM)将带来加速GPU的新方式,还有可能带来其他类型的机器学习硬件。...
  10. 网络安全基础——用户与组管理
  11. vray for 3dmax2022 中文版
  12. Abaqus中多层介质设置初始应力场(补充介绍)
  13. Unity XR Interaction Toolkit 组件解析(一)Action-based 和 Device-based 的区别
  14. spring boot 整合 ip2region(ip地址库)
  15. vue生命周期(简短精干篇)
  16. 地理围栏 | EXCEL表格中分析轨迹坐标是否在设定的围栏范围内
  17. 万物互联之~网络编程基础篇
  18. excel使用教程_汉字资料如何进行数据分析?Excel中医学汉字资料转化为数字资料视频教程——If/Iserror/Find函数的结合使用...
  19. html5 树叶飘落,使用Html5实现树叶飘落的效果
  20. java web视频学习-ServletContext和Request和Response

热门文章

  1. hive 建表,分桶表(clustered by)、分桶且桶内排序(clustered by+sorted by)、分区表(partitioned by)、分区分桶一起用
  2. NCE 3.23 One man’s meat is another man’s poison 各有所爱-句子成分分析
  3. 如何自学3D建模,需要什么前提吗?
  4. 航空发动机试车台-喘振、整机振动监测方向论文资料阅读整理【0】
  5. 什么是static修饰符?
  6. LOJ2434. 「ZJOI2018」历史
  7. [Android6.0]App中调用init.rc中的服务,从而运行shell脚本
  8. 基于用户推荐系统的音乐播放器开发文档
  9. php去除amp;nbsp,php trim函数删除nbsp空格详解
  10. JDK 1.8新特性Lambda入门