### JavaBean实例详解 在Java开发中,JavaBean是一种遵循特定编写规范的Java类,主要用于封装数据或简单业务逻辑。JavaBean通常具有无参数构造器、私有成员变量以及对应的公共getter和setter方法等特性。下面我们将通过分析提供的代码片段来深入理解JavaBean的相关知识点。 #### Person类 ```java public class Person { private long id; private String name; private char gender; private Address address; public long getId() { return id; } public void setId(long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public char getGender() { return gender; } public void setGender(char gender) { this.gender = gender; } public Address getAddress() { return address; } public void setAddress(Address address) { this.address = address; } } ``` **知识点:** 1. **属性私有化:**所有成员变量均为`private`,确保了数据的安全性。 2. **提供公共的getter/setter方法:**便于外部调用,同时可以通过这些方法添加额外的逻辑处理(例如校验)。 3. **类型声明:**`long`用于表示长整型数据,`char`表示单个字符,`String`表示字符串,`Address`表示地址对象。 #### Address类 ```java public class Address { private String address; private String zip; private String country; public Address() { } public Address(String address, String zip, String country) { this.address = address; this.zip = zip; this.country = country; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getZip() { return zip; } public void setZip(String zip) { this.zip = zip; } public String getCountry() { return country; } public void setCountry(String country) { this.country = country; } } ``` **知识点:** 1. **构造函数:**提供了无参构造函数与带参构造函数,方便对象的创建。 2. **成员变量:**`address`表示详细地址,`zip`表示邮政编码,`country`表示国家。 3. **getter/setter方法:**为每个成员变量提供对应的方法。 #### Customers类 ```java public class Customers extends Person { private String comments; private Employee employee; public String getComments() { return comments; } public void setComments(String comments) { this.comments = comments; } public Employee getEmployee() { return employee; } public void setEmployee(Employee employee) { this.employee = employee; } } ``` **知识点:** 1. **继承:**`Customers`继承自`Person`类,可以复用父类中的属性和方法。 2. **新增属性:**`comments`用于存储备注信息,`employee`关联一个员工对象。 3. **关联关系:**`Customers`与`Employee`之间存在一对多或多对一的关系。 #### Employee类 ```java public class Employee extends Person { private String title; private double salary; private Set<Customers> customers = new HashSet<>(); public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public double getSalary() { return salary; } public void setSalary(double salary) { this.salary = salary; } public Set<Customers> getCustomers() { return customers; } public void setCustomers(Set<Customers> customers) { this.customers = customers; } } ``` **知识点:** 1. **继承:**`Employee`继承自`Person`类,继承了其属性和方法。 2. **成员变量:**`title`表示职位名称,`salary`表示工资。 3. **集合属性:**使用`HashSet`存储多个`Customers`对象,表示员工与客户之间的一对多关系。 #### Manager类 ```java public class Manager extends Employee { private String department; private Set<Employee> employees = new HashSet<>(); public String getDepartment() { return department; } public void setDepartment(String department) { this.department = department; } public Set<Employee> getEmployees() { return employees; } public void setEmployees(Set<Employee> employees) { this.employees = employees; } } ``` **知识点:** 1. **继承:**`Manager`继承自`Employee`类,进一步扩展了功能。 2. **成员变量:**`department`表示部门名称。 3. **集合属性:**使用`HashSet`存储多个`Employee`对象,表示经理与其下属员工之间的一对多关系。 ### 总结 以上JavaBean实例展示了如何利用面向对象编程的原则(如封装、继承、关联关系)来设计和实现类。通过将数据和行为封装在一起,提高了代码的可读性和可维护性。在实际项目中,这些JavaBean类可以作为模型层的一部分,用于存储和传递数据,是构建复杂应用程序的基础。
private long id;
private String name;
private char gender;
private Address address;
{
public long getid()
{return id;}
public setID(long id)
{this.id=id;}
public getname()
{return name;}
public setname(String name)
{this.name=name;}
public getgender()
{return gender;}
public setgender(char gender)
{this.gender=gender;}
public getaddress()
{return address;}
public setaddress(Address address)
{this.address=address;}
}
}
public class Address{
private String address;
private String zip;
private String country;
public Address(){}
- 粉丝: 0
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 数据分析-02-淘宝用户行为分析(包含代码和数据)
- (1160222)线性代数试卷
- 毕业设计基于Python+机器学习的股票预测和分析项目源码+文档说明.zip
- 机械设计TB66004A电机驱动器模型step非常好的设计图纸100%好用.zip
- (26144420)线性代数试题库11套题.doc
- BERNESE所需的DE405.EPH文件
- 数据分析-03-上海餐饮情况分析(包含代码和数据)
- modbust调试助手
- (179942656)JavaWeb实验二 JSP表单开发及访问数据库【源代码+注释】
- 基于pytorch的股票预测和分析项目源码+文档说明.zip
- (1729410)jsp数据库编程指南
- (14659434)数码管动态显示
- (25363252)新颖的单片机实现测温电路
- 数据分析-04-百货商场用户画像描述与价值分析(包含代码和数据)
- Python毕业设计-基于pytorch的股票预测和分析项目源码+文档说明.zip
- (2627236)学生成绩管理信息系统