Java入门基础学习笔记41——实体类

Java入门基础学习笔记41——实体类Java 入门基础学习笔记 实体类

大家好,欢迎来到IT知识分享网。

实体JavaBean/实体类:

就是一种特殊形式的类。

1)这个类中的成员变量都要私有,并且要对外提供相应的getXXX,setXXX的方法。

2)类中必须要有一个公共的无参的构造器。其他的构造器可写可不写。

右键菜单中,选择:Generate选项:

Java入门基础学习笔记41——实体类

选择Getter and Setter:

Java入门基础学习笔记41——实体类

使用shift键或者ctrl键,选择name和score:

Java入门基础学习笔记41——实体类

也可以自动生成有参构造器。

那么,还是需要自动生成无参构造器。Select None。

package cn.ensource.javabean; public class Student { private String name; private double score; // 必须为类提供一个公开的无参数构造器 public Student() { } // 有参构造器 public Student(String name, double score) { this.name = name; this.score = score; } 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; }
package cn.ensource.javabean; public class Test { public static void main(String[] args) { // 目标:掌握实体类的书写要求、特点、应用场景 Student s1 = new Student(); s1.setName("播妞"); s1.setScore(99); System.out.println(s1.getName()); System.out.println(s1.getScore()); } }

运行结果:

Java入门基础学习笔记41——实体类

实体类有什么特点:我们可以看出来,实体类中,只有成员变量和getter、setter方法,实体类仅仅是一个用来保存数据的java类。其中没有其他处理数据的方法,所以,我们只能用它存取数据。就是用来保存某个事物的数据的。

JAVAWEB阶段会有应用,主要是数据的实体,作为CRUD的载体。

实体类有什么应用场景?

实体类只负责数据存取,而对数据的处理交给其他类来完成,以实现数据和数据业务处理相分离。

这是一种流行的开发模式。

Java入门基础学习笔记41——实体类

 

package cn.ensource.javabean; public class Student { private String name; private double score; // 必须为类提供一个公开的无参数构造器 public Student() { } // 有参构造器 public Student(String name, double score) { this.name = name; this.score = score; } 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; } } 
package cn.ensource.javabean; public class StudentOperator { private Student student; public StudentOperator(Student student) { this.student = student; } public void printPass() { if (student.getScore() >= 60) { System.out.println(student.getName() + "学生成绩及格"); } else { System.out.println(student.getName() + "学生成绩不及格"); } } } 

package cn.ensource.javabean; public class Test { public static void main(String[] args) { // 目标:掌握实体类的书写要求、特点、应用场景 Student s1 = new Student(); s1.setName("播妞"); s1.setScore(99); System.out.println(s1.getName()); System.out.println(s1.getScore()); StudentOperator operator = new StudentOperator(s1); operator.printPass(); } } 

运行结果:

Java入门基础学习笔记41——实体类

实体类对应的是软件开发里现在比较流行的开发方式,数据和数据的业务处理相分离。

面向对象的综合案例:

模仿电影信息系统:

Java入门基础学习笔记41——实体类

需求:

展示系统中的全部电影:(每部电影展示:名称和价格)

允许用户根据电影的编号(id)查询出每个电影的详细信息。

目标:

使用所学的面向对象编程实现以上两个需求。

package cn.ensource.demo; public class Movie { private int id; private String name; private double price; private double score; private String director; private String actor; private String info; public Movie() { } public Movie(int id, String name, double price, double score, String director, String actor, String info) { this.id = id; this.name = name; this.price = price; this.score = score; this.director = director; this.actor = actor; this.info = info; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } public double getScore() { return score; } public void setScore(double score) { this.score = score; } public String getDirector() { return director; } public void setDirector(String director) { this.director = director; } public String getActor() { return actor; } public void setActor(String actor) { this.actor = actor; } public String getInfo() { return info; } public void setInfo(String info) { this.info = info; } }

 

package cn.ensource.demo; public class MovieOperator { private Movie[] movies; public MovieOperator(Movie[] movies) { this.movies = movies; } // 业务需求:展示全部电影信息 public void printAllMovies() { for (int i = 0; i < movies.length; i++) { System.out.println("----系统全部电影如下----"); Movie movie = movies[i]; System.out.println("编号:" + movie.getId()); System.out.println("名称:" + movie.getName()); System.out.println("价格:" + movie.getPrice()); System.out.println("-----------"); } } // 根据电影的编号(id)查询出每个电影的详细信息 public void SearchMovieById(int id) { for (int i = 0; i < movies.length; i++) { Movie movie = movies[i]; if (movie.getId() == id) { System.out.println("电影详细如下:"); System.out.println("编号:" + movie.getId()); System.out.println("名称:" + movie.getName()); System.out.println("价格:" + movie.getPrice()); System.out.println("得分:" + movie.getScore()); System.out.println("导演:" + movie.getDirector()); System.out.println("主演:" + movie.getActor()); System.out.println("其他信息:" + movie.getInfo()); return; }else { System.out.println("没有该电影信息!"); } } } }

 

package cn.ensource.demo; import java.util.Scanner; public class Test { public static void main(String[] args) { // 设计一个电影类 // 电影的操作类进行业务处理 // 准备全部电影数据 Movie[] movies = new Movie[4]; movies[0] = new Movie(1, "水门桥1", 38.9, 9.8, "徐克", "吴京", "12万人观看"); movies[1] = new Movie(2, "出拳吧", 38.9, 9.8, "徐克", "吴京", "12万人观看"); movies[2] = new Movie(3, "月球损落", 38.9, 9.8, "徐克", "吴京", "12万人观看"); movies[3] = new Movie(4, "一点就到家", 38.9, 9.8, "徐克", "吴京", "12万人观看"); MovieOperator movieOperator = new MovieOperator(movies); Scanner scanner = new Scanner(System.in); while (true) { System.out.println("==电影信息系统=="); System.out.println("1. 查询全部电影信息"); System.out.println("2. 根据ID查询某个电影的详细信息展示"); System.out.println("请您输入操作命令: "); int command = scanner.nextInt(); switch (command) { case 1: movieOperator.printAllMovies(); break; case 2: System.out.println("请您输入要查询的电影的Id: "); int id = scanner.nextInt(); movieOperator.SearchMovieById(id); break; default: System.out.println("您输入的命令有问题!"); } } } }

运行结果:

==电影信息系统== 1. 查询全部电影信息 2. 根据ID查询某个电影的详细信息展示 请您输入操作命令: 1 ----系统全部电影如下---- 编号:1 名称:水门桥1 价格:38.9 ----------- ----系统全部电影如下---- 编号:2 名称:出拳吧 价格:38.9 ----------- ----系统全部电影如下---- 编号:3 名称:月球损落 价格:38.9 ----------- ----系统全部电影如下---- 编号:4 名称:一点就到家 价格:38.9 ----------- ==电影信息系统== 1. 查询全部电影信息 2. 根据ID查询某个电影的详细信息展示 请您输入操作命令: 2 请您输入要查询的电影的Id: 3 电影详细如下: 编号:3 名称:月球损落 价格:38.9 得分:9.8 导演:徐克 主演:吴京 其他信息:12万人观看 ==电影信息系统== 1. 查询全部电影信息 2. 根据ID查询某个电影的详细信息展示 请您输入操作命令: 

其中:扫描器放在while语句外边,如果放在while里面,就会每次都会创建一个扫描器,浪费空间。

Java入门基础学习笔记41——实体类

成员变量和局部变量的区别?

Java入门基础学习笔记41——实体类

如果有C++的基础,这块还是很好理解的。

Field:成员变量,对象的属性。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/114257.html

(0)
上一篇 2025-12-09 20:10
下一篇 2025-12-09 20:20

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信