案例:影片信息展示
需求:在后台存储上述三部电影,依次展示出来
分析实现:
1.定义电影类
-
1-1、定义电影属性:电影名称、导演、主演、地区、类型、评分
-
1-2、提供属性对应的getter、setter方法,暴露其取值和赋值
-
1-3、提供无参、有参构造器,用于创建一个电影对象
-
1-4、重写toString,格式化输出一个电影对象信息
2.定义实现类
- 2-1、定义一个集合用于存储电影对象
- 2-2、创建3个电影对象,封装相关信息,将3个电影对象存入集合中
- 2-3、遍历集合,依次展示电影信息
package collection;
/*
定义电影类
*/
public class Movie {
// 定义电影属性:电影名称、导演、主演、地区、类型、评分
private String movieName;
private String director;
private String starring;
private String region;
private String type;
private double score;
// 提供属性对应的getter、setter方法,暴露其取值和赋值
public String getMovieName() {
return movieName;
}
public void setMovieName(String movieName) {
this.movieName = movieName;
}
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 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 double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
// 提供无参、有参构造器,用于创建一个电影对象
public Movie(String movieName, String director, String starring, String region, String type, double score) {
this.movieName = movieName;
this.director = director;
this.starring = starring;
this.region = region;
this.type = type;
this.score = score;
}
public Movie() {
}
// 重写toString,格式化输出一个电影对象信息
@Override
public String toString() {
return "Movie{" +
"movieName='" + movieName + '\'' +
", director='" + director + '\'' +
", starring='" + starring + '\'' +
", region='" + region + '\'' +
", type='" + type + '\'' +
", score=" + score +
'}';
}
}
package collection;
/*
定义实现类
*/
import java.util.ArrayList;
import java.util.Collection;
public class MovieTest {
public static void main(String[] args) {
//定义一个集合用于存储电影对象
Collection<Movie> movies = new ArrayList<>();
//创建3个电影对象,封装相关信息,将3个电影对象存入集合中
movies.add(new Movie("肖申克的救赎", "弗兰克·德拉邦特",
"蒂姆·罗宾斯", "1994/美国", "犯罪 剧情", 9.7));
movies.add(new Movie("霸王别姬", "陈凯歌",
"张国荣/张丰毅", "1993/中国大陆 中国香港", "剧情 爱情 同性", 9.6));
movies.add(new Movie("阿甘正传", "罗伯特·泽米吉斯",
"汤姆·汉克斯", "1994/美国", "剧情 爱情", 9.5));
System.out.println("------------------");
// 依次展示电影信息
movies.forEach(movie -> {
System.out.println(
"《"+movie.getMovieName()+"》"
+ "\n导演:" + movie.getDirector()
+ "\n主演:" + movie.getStarring()
+ "\n地区:" + movie.getRegion()
+ "\n类型:" + movie.getType()
+ "\n评分:" + movie.getScore()
);
});
}
}
控制台输出结果:
执行原理:
总结:
集合中存储的是元素的什么信息?
- 集合中存储的是元素对象的地址。