标准JAVA Bean
- javaBean也被称为实体类,所谓的实体类就是现实生活中有的,其对象可以用于在程序中封装数据
- JavaBean满足的书写要求
- 成员变量使用private修饰
- 提供成员变量对应的setXxx()赋值和getXxx()取值方法。
- 提供一个无参的构造方法;有参数的构造器可有可不有。
- 当写完成员变量之后可以使用右击选择Generat选择set和get也可以使用快捷键alt+shift+s键,选择自己刚才书写的成员变量就可以自动生成了
- 构造方法和上面一样,不过选择的是conctructor,然后全选就是有参的构造方法,全不选就是无参的构造方法
- 类名的首字母大写,变量名、方法名首字母小写
成员变量和局部变量
- 成员变量多用于类中,方法外;而局部变量多用于方法中
- 成员变量中是有默认值的,不用初始化;局部变量则没有默认值,使用之前需要赋值
- 成员变量在堆内存;局部变量在栈内存当中
- 成员变量的生命周期更长
- 成员变量的作用域是属于每个对象的;局部变量的作用域是归属于大括号中的
面向对象的综合案例
-
需求:使用面向对象编程,模拟电影信息的展示
-
分析:
- 一部电影就是一个Java对象,需要设计电影类,在创建电影对象
- 电影对象可以采用数组存储起来
- 依次遍历数组中的每个电影对象,将其信息进行展示
-
电影案例
public class DianYing { private String name;//电影的名字 private String diqu;//地区 private String leixing;//类型 private String daoyan;//导演 private String zhuyan;//主演 //设置无参的构造方法 public DianYing() { } //设置有参的构造方法 public DianYing(String name, String diqu, String leixing, String daoyan, String zhuyan) { this.name = name; this.diqu = diqu; this.leixing = leixing; this.daoyan = daoyan; this.zhuyan = zhuyan; } //对成员参数进行封装 public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDiqu() { return diqu; } public void setDiqu(String diqu) { this.diqu = diqu; } public String getLeixing() { return leixing; } public void setLeixing(String leixing) { this.leixing = leixing; } public String getDaoyan() { return daoyan; } public void setDaoyan(String daoyan) { this.daoyan = daoyan; } public String getZhuyan() { return zhuyan; } public void setZhuyan(String zhuyan) { this.zhuyan = zhuyan; } } //进行测试类的生成 public class Test { public static void main(String[] args) { //1.设计类 //2.创建3个电影对象,封装电影的信息 DianYing g1=new DianYing("长津湖","山东","战争","吴京","吴京"); DianYing g2=new DianYing("我和我的父辈","山东","怀念","吴京","吴京"); DianYing g3=new DianYing("大白","美国","科技","吴京","王传"); //3.定义一个电影类型的数组,进行存储 DianYing[] movies=new DianYing[3]; movies[0]=g1; movies[1]=g2; movies[2]=g3; //4遍历并且进行输出展示 for (int i = 0; i < movies.length; i++) { DianYing m=movies[i]; System.out.println("电影名:"+m.getName()); System.out.println("地区:"+m.getDiqu()); System.out.println("类型:"+m.getLeixing()); System.out.println("导演:"+m.getDaoyan()); System.out.println("主演:"+m.getZhuyan()); System.out.println("---------------------"); } } } //结果 电影名:长津湖 地区:山东 类型:战争 导演:吴京 主演:吴京 --------------------- 电影名:我和我的父辈 地区:山东 类型:怀念 导演:吴京 主演:吴京 --------------------- 电影名:大白 地区:美国 类型:科技 导演:吴京 主演:王传 ---------------------
数组中存储的元素并不是本身,而是对象的地址