JavaBean的定义和使用

JavaBean的定义

JavaBean是一种Java语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性,set和get方法获取。众所周知,属性名称符合这种模式,其他Java 类可以通过自省机制(反射机制)发现和操作这些JavaBean 的属性。
所谓javaBean,是指符合如下标准的Java类:

  • 类是公共的
  • 有一个无参的公共的构造器
  • 有属性,且有对应的get、set方法

用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用Java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、 其他JavaBean、applet程序或者应用来使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。

JavaBean的任务

JavaBean的任务就是: “Write once, run anywhere, reuse everywhere”,即"一次性编写,任何地方执行,任何地方重用”。这个任何实际上就是要解决困扰软件工业的日益增加的复杂性,提供一个简单的、紧凑的和优秀的问题解决方案。

JavaBean的组成

(1)属性(properties)
JavaBean提供了高层次的属性概念,属性在JavaBean中不只是传统的面向对象的概念里的属性,它同时还得到了属性读取和属性写入的API的支持。属性值可以通过调用适当的bean方法进行。比如,可能bean有一个名字属性,这个属性的值可能需要调用String getName()方法读取,而写入属性值可能要需要调用void setName(String str)的方法。
每个JavaBean属性通常都应该遵循简单的方法命名规则,这样应用程序构造器工具和最终用户才能找到JavaBean提供的属性,然后查询或修改属性值,对bean进行操作。JavaBean还可以对属性值的改变作出及时的反应。比如一个显示当前时间的JavaBean,如果改变时钟的时区属性,则时钟会立即重画,显示当前指定时区的时间。
(2) 方法(method)
JavaBean中的方法就是通常的Java方法,它可以从其他组件或在脚本环境中调用。默认情况下,所有bean的公有方法都可以被外部调用,但bean一般只会引出其公有方法的一个子集。由于JavaBean本身是Java对象,调用这个对象的方法是与其交互作用的唯一途径。JavaBean严格遵守面向对象的类设计逻辑,不让外部世界访问其任何字段(没有public字段)。这样,方法调用是接触Bean的唯一途径。
但是和普通类不同的是,对有些Bean来说,采用调用实例方法的低级机制并不是操作和使用Bean的主要途径。公开Bean方法在Bean操作中降为辅助地位,因为两个高级Bean特性–属性和事件是与Bean交互作用的更好方式。因此Bean可以提供要让客户使用的public方法,但应当认识到,Bean设计人员希望看到绝大部分Bean的功能反映在属性和事件中,而不是在人工调用和各个方法中。
(3) 事件(event)
Bean与其他软件组件交流信息的主要方式是发送和接受事件。我们可以将bean的事件支持功能看作是集成电路中的输入输出引脚:工程师将引脚连接在一起组成系统,让组件进行通讯。有些引脚用于输入,有些引脚用于输出,相当于事件模型中的发送事件和接收事件。
事件为JavaBean组件提供了一种发送通知给其他组件的方法。在AWT事件模型中,一个事件源可以注册事件监听器对象。当事件源检测到发生了某种事件时,它将调用事件监听器对象中的一个适当的事件处理方法来处理这个事件。由此可见,JavaBean确实也是普通的Java对象,只不过它遵循了一些特别的约定而已。

JavaBean代码示例

Phone类

public class Phone {
	
	private String Phonetype;//手机型号
	
	private String CPUType;//处理器型号
	
	private String displayType;//显示屏型号
	
	private String CameraConfiguration;//相机配置


	
	//无参构造
	public Phone() {
		super();
	}

	//有参构造
	public Phone(String phonetype, String cPUType, String displayType, String cameraConfiguration) {
		super();
		Phonetype = phonetype;
		CPUType = cPUType;
		this.displayType = displayType;
		CameraConfiguration = cameraConfiguration;
	}

	public String getPhonetype() {
		return Phonetype;
	}

	public void setPhonetype(String phonetype) {
		Phonetype = phonetype;
	}

	public String getCPUType() {
		return CPUType;
	}

	public void setCPUType(String cPUType) {
		CPUType = cPUType;
	}

	public String getDisplayType() {
		return displayType;
	}

	public void setDisplayType(String displayType) {
		this.displayType = displayType;
	}

	public String getCameraConfiguration() {
		return CameraConfiguration;
	}

	public void setCameraConfiguration(String cameraConfiguration) {
		CameraConfiguration = cameraConfiguration;
	}
	
}
	public String showPhoneInfo() {
		return 
				"手机类型: " + Phonetype + "\n"+
				"CPU类型:" + CPUType + "\n"+
				"显示屏类型:" + displayType+ "\n"+
				"相机参数:" + CameraConfiguration + "\n";
	}
	

Test类

public class Test {


	public static void main(String[] args) {
		
		Phone myPhone =new Phone();
		myPhone.setCPUType("膏通削龙8根1");
		myPhone.setDisplayType("8K显示");
		myPhone.setPhonetype("华米18 Pro plus ultra 至尊至臻纪念大师探索轻薄折叠屏青春版");
		myPhone.setCameraConfiguration("前置108MP+后置8摄GN2_208MP+夜宵算法");
		System.out.println(myPhone.showPhoneInfo());
	}
}

运行结果:
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是符合您需求的Java类代码: ``` /** * 手机类 */ public class Phone { // 成员变量 private String brand; // 手机品牌 private String color; // 手机颜色 private int price; // 手机价格 /** * 构造函数 */ public Phone(String brand, String color, int price) { this.brand = brand; this.color = color; this.price = price; } /** * 成员方法 */ public void call(String phoneNumber) { System.out.println("给" + phoneNumber + "打电话"); } /** * get方法,获取手机品牌 */ public String getBrand() { return brand; } /** * set方法,设置手机品牌 */ public void setBrand(String brand) { this.brand = brand; } /** * 局部变量和成员变量的区别: * 成员变量作用于整个类中,可以被类中其他方法、构造函数所调用, * 局部变量只在声明它的方法、语句块中有效,方法结束后,变量就会被销毁。 * * private关键字封装例: * 成员变量前加上private关键字,防止在类外直接访问和修改,需要使用get和set方法来访问和修改。 * * this的使用: * 在构造函数中使用this关键字,表示调用本类的其他构造函数,方便代码的复用。 * * JavaBean定义: * JavaBean是一种符合特定规范的Java类,它具有无参构造函数、私有属性、公有get/set方法, * 可以被其他Java程序方便地使用,主要用于数据传输。 */ } ``` 以上是一个简单的Java类,实现了手机类的基本功能,并对注释进行了详细的描述。如果您有任何问题,欢迎继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值