1.JavaBean

他是什么:

  • 也可以称为实体类,其对象可以用于在程序中封装数据。
  • 实体类是?比如:汽车类、学生类、用户类 …

它的标准书写要求:

  • 成员变量使用 private 修饰。

  • 提供成员变量对应的 setXxx() / getXxx() 方法

  • 必须提供一个 无参数构造器;有参数构造器是可写可不写的

  • 实体类: 用户类:

package javabean;public class User {private String name;private double height;private double salary;public String getName() {return name;}public void setName(String name) {this.name = name;}public double getHeight() {return height;}public void setHeight(double height) {this.height = height;}public double getSalary() {return salary;}public void setSalary(double salary) {this.salary = salary;}public User(){}public User(String name,double height,double salary){this.name = name;this.height = height;this.salary = salary;}
}

实现类:封装用户信息:

package javabean;public class UserTest {public static void main(String[] args) {//无参构造器创建对象封装一个用户信息User u1 = new User();u1.setName("肥鲇鱼");u1.setHeight(50.6);u1.setSalary(999);System.out.println("--------用户1的信息---------");System.out.println("姓名:"+u1.getName());System.out.println("鱼高:"+u1.getHeight()+"cm");System.out.println("每月入账:"+u1.getSalary());//有参构造器创建对象封装一个用户信息User u2 = new User("赖皮蛇",500,99999);//取值,输出System.out.println("--------用户2的信息---------");System.out.println("姓名:"+u2.getName());System.out.println("蛇长:"+u2.getHeight()+"cm");System.out.println("工资"+u2.getSalary());}
}

控制台输出结果:

2.成员变量、局部变量的区别

它们的区别

区别

成员变量 局部变量
类中位置不同 类中,方法外

例如:
public class Student {
private String name;
private int age;
}

常见于方法中

例如:
public class Test{
public static void main(String[] args){
double score = 98.6;
String name = “关羽”;
System.out.println(name + ": " + score);
}
}

初始化值不同 有默认值,无需初始化(赋值) 没有默认值,使用之前需要完成初始化(赋值)
内存位置不同 堆内存 栈内存
生命周期不同 随着对象的创建而存在,随着对象的消失而消失 随着方法的调用而存在,随着方法的运行结束而消失
作用域 很难界定,因为成员变量属于每个对象 在所归属的大括号中

3.面向对象综合案例:模仿电影信息展示

需求

使用面向对象编程,模仿电影信息的展示:

 分析:

  • 一部电影是一个Java对象,需要先设计一个电影类,再无参构造器或有参构造器创建对象封装一个电影信息。
  • 多部电影对象可以采用数组存储起来。
  • 依次遍历数组中的每个电影对象,取出其信息进行展示。

实现:

1.实体类: 电影类(1.1) 成员变量建议使用private私有a: 电影名称b: 电影评分c: 地区d: 类型e: 导演f: 主演(1.2) 提供成员变量对应的 setXxx() / getXxx() 方法,暴露其取值和赋值(1.3) 必须提供一个无参数构造器,有参数构造器是可有可无,一旦定义了有参,无参也必须定义2.实现类:(2.1) 动态初始化一个数组,类型为电影类,长度为3,用于存储3部需要展示的电影(2.2) 有参构造器创建对象封装3部电影信息,并分别存入数组中(2.3) 定义一个用于展示电影信息的方法showFilm,无返回值,设置一个形参: 类型是电影类,用于接收传入的电影数组a: 定义for循环,遍历电影数组(1) 取出每次遍历到的电影的信息并用变量接收(2) 判断电影数组中的电影是否为空(2.1) 不为空,展示所有电影信息(2.2) 为空,结束展示(2.4) 成功存入,调用showFilm方法,传入电影数组,展示所有电影信息

实体:电影类

package javabean;public class Film {private String name;private double score;private String region;private String type;private String director;private String starring;public String getName() {return name;}public void setName(String name) {this.name = name;}public double getScore() {return score;}public void setScore(double score) {this.score = score;}public String getRegion() {return region;}public void setRegion(String region) {this.region = region;}public String getType() {return type;}public void setType(String type) {this.type = type;}public String getDirector() {return director;}public void setDirector(String director) {this.director = director;}public String getStarring() {return starring;}public void setStarring(String starring) {this.starring = starring;}public Film(){}public Film(String name, double score, String region, String type, String director, String starring) {this.name = name;this.score = score;this.region = region;this.type = type;this.director = director;this.starring = starring;}
}

实现类:

package javabean;public class FilmTest {public static void main(String[] args) {Film[] films = new Film[3];films[0] = new Film("《长津湖》", 9.5, "中国","剧情 / 历史 / 战争", "陈凯歌 / 徐克 / 林超贤","吴京 / 易烊千玺 / 段奕宏 / 朱亚文 / 李晨");films[1] = new Film("《我和我的父辈》", 9.4, "中国大陆", "剧情","吴京 / 章子怡 / 徐峥 / 沈腾","吴京 / 章子怡 / 徐峥 / 沈腾 / 韩昊霖");films[2] = new Film("《五个扑水的少年》", 8.9, "中国大陆", "剧情 / 喜剧 / 运动","宋灏霖", "辛云来 / 冯祥琨 / 李孝谦 / 吴俊霆 / 王川");showFilm(films);}private static void showFilm(Film[] films) {for (int i = 0; i < films.length; i++) {Film film = films[i];System.out.println("电影名: " + film.getName() + "\n"+ "评分: " + film.getScore() + "\n"+ "地区: " + film.getRegion() + "\n"+ "类型: " + film.getType() + "\n"+ "导演: " + film.getDirector() + "\n"+ "主演: " + film.getStarring());System.out.println("—————————————————————————————————————————");}}
}

控制台输出结果:

4.执行内存图

5. 结论

  • 数组中存储的元素并不是对象本身,而是对象的地址。
  • 检验方法:将存有对象的数组打印输出看一下就知道了!!

JavaBean、综合案例相关推荐

  1. 黑马JavaWeb全功能综合案例(element-ui+mybatis+Vue+ajax)

    目录 1,功能介绍 2,环境准备 2.1.项目结构 2.2 创建表 3.功能实现 3.1.查询所有功能 后端实现 前端实现 3.2.添加功能 后端实现 前端实现 3.3.servlet优化 代码优化 ...

  2. 【MapReduce】综合案例

    文章目录 综合案例 ① 数据文件 ② 具体要求 ③ 具体实现 • 上传文件 • 封装Bean类 • Mapper类缓存information.txt,实现与student.txt的连接 • Reduc ...

  3. JavaWeb - 软件开发的流程,综合案例

    转载请注明出处:https://blog.csdn.net/mythmayor/article/details/72844266 1.软件开发的流程 第一:需求的讨论第二:设计系统的原型第三:根据原型 ...

  4. 54-JavaBean、综合案例

    一.JavaBean 1. 它是什么 也可以称为实体类,其对象可以用于在程序中封装数据. 实体类是?比如:汽车类.学生类.用户类 - 2. 它的标准书写要求 成员变量使用 private 修饰. 提供 ...

  5. 2021年大数据Hive(十二):Hive综合案例!!!

    全网最详细的大数据Hive文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 前言 Hive综合案例 一.需求描述 二.项目表的字段 三.进 ...

  6. CSS 背景(background)(背景颜色color、背景图片image、背景平铺repeat、背景位置position、背景附着、背景简写、背景透明、链接导航栏综合案例)

    1. 背景颜色(color) background-color:颜色值; 默认的值是 transparent 透明的 示例代码: <!DOCTYPE html> <html lang ...

  7. CSS盒子模型(border、padding、margin、圆角边框、盒子阴影、文字阴影、新闻列表综合案例、新浪导航栏案例)

    1. 网页布局的本质 首先利用CSS设置好盒子的大小,然后摆放盒子的位置. 最后把网页元素比如文字图片等等,放入盒子里面. 以上两步 就是网页布局的本质 2. 盒子模型(Box Model) 盒子模型 ...

  8. 《Unity 4 3D开发实战详解》一6.7 物理引擎综合案例

    本节书摘来异步社区<Unity 4 3D开发实战详解>一书中的第6章,第6.7节,作者: 吴亚峰 , 杜化美 , 张月霞 , 索依娜 责编: 张涛,更多章节内容可以访问云栖社区" ...

  9. 17综合案例之淘宝轮播图布局

    1.整体效果 2.案例分析 3.具体实现 大盒子类的命名tb-promo,淘宝广告: 里面放一张图片: 左右两个按钮用链接就可以,左箭头prev,右箭头next: 底侧小圆点用ul来实现,命名为pro ...

最新文章

  1. 怎样删除usb计算机连接网络打印机驱动,惠普激光打印机安装驱动时报“跟这台计算机连接的一个 USB 设备运行不正...
  2. Netflix 官方技术博客:个性化分发与推荐,走在前列的 Netflix 是怎么做的?
  3. Django后台定制
  4. vector相关习题
  5. ttf能改成gfont吗_如何编辑ttf字体文件
  6. 牛客题霸 [合并两个有序的数组] C++题解/答案
  7. angular移除事件绑定事件绑定_Vue.js子组件利用事件向父组件传输数据,以及sync修饰符和双向绑定...
  8. 克隆一个 AI 替自己开会,爽吗?
  9. OD使用教程10 - 调试篇10|解密系列
  10. IOS 地理编码以及反地理编码
  11. 解决异常:公共语言运行时检测到无效的程序
  12. PCL1.8.0 error C4996: 'pcl::SAC_SAMPLE_SIZE'编译错误
  13. vivo电池损耗指令代码_安川伺服驱动器维修中常用故障代码
  14. AI综述专栏 | 多模态学习研究进展综述
  15. 机器学习经典总结---入门必读----心血总结
  16. 沃尔玛账号被冻结后如何进行申诉?
  17. Lua Busted 单元测试实战
  18. 数据库表的映射与java类映射处理
  19. 浅谈TCP协议的端口(port)
  20. 阿伟的学习计划5.28-6.29

热门文章

  1. svn如何与服务器断开连接
  2. yaml配置文件的使用
  3. android vsync,Vsync同步机制 一
  4. 如何在Linux上恢复误删除的文件或目录
  5. 港股直通车“鸣笛”4000亿资金或被分流
  6. 0基础学习网页结构编程
  7. 【PCIE体系结构十三】LTSSM
  8. 百度离线SDK的调用(Linux+win)
  9. 计算机网络名词解释知识点简答题整理
  10. cf 1012B Chemical table