JavaBean的规范,javaBean中属性为什么要定义成private?

JavaBean就是遵循一定规范、完成某种功能的可重复使用的Java类。

javabean

JavaBean是一种JAVA语言写的可重用组件。

JavaBean就是java类 ,但要遵循一定的规范。

特点:

  1. 可以实现代码的重复利用
  2. 易编写、易维护、易使用
  3. 跨平台

程序开发过程中,一但编写好JavaBean,就可以把JavaBean想象为一个黑匣子,只需要知道这个组件的功能和如何使用它,不需要知道它里面是如何实现的,极大的方便了程序的开发。

JavaBean的书写规范

1.JavaBean是一个public的类。

2.类的构造方法必须是public的,无参数的。

3.类中声明的方法必须是public的。

4.JavaBean 所有的属性定义为私有的。

5.如果成员变量的名字是xxx,为了获取或更改成员变量的值,必须提供setXxx()和getXxx()方法。

setXXxx()和getXxx() 遵循的规范

(1)必须为public特性的方法。

(2)一般同一个属性的get方法和set方法成对使用,也可以单独使用。

(3)get方法的名字必须是getXxx(),set方法的名字必须为setXxx(),其中Xxx是第一个字母转换为大写的属性名。

(4)get和set方法书写形式:

public  < 属性类型>  getXxx ()

public  void  set Xxx (< 属性类型>   参数名)

get方法的返回类型必须与属性的数据类型一致,且不能带参数。

set方法返回类型必须为void,且只能带一个和属性类型相同的参数。

案例:编写第一个JavaBean

package com.ceshi;
public  class  Student
{ 	private String name;
 public Student() {   name=null;   }
 public  String getName()
 {  return name;   }
 public void setName(String newName)
 {  name=newName; }
}

javaBean中属性为什么要定义成private?

我可以定义成public,不提供get set方法,这样也是可以的呀,为什么还要定义为private?

如果实体类就没必要将属性都定义成private。控制权限的还有public、protected和private,完全没必要全部get、set。

javaBean中属性定义成private的原因如下:

1.对属性进行私有化封装,防止被随意修改,对外提供get,set方法,只能通过getter和setter修改,提高安全性。

2. 对字段的访问有时候不是简单的直接访问的,比如你可能只保存了brithday,而同时要输入age, 那么可以加个getAge(),在其中计算。

3.  Java Bean的规则有此要求,

get,set方法其实是对外暴露的一个受限接口,其实就是一种约定。命名约定+引入中间层,好处还是很多的,可以对get,set方法玩AOP,基于get,set方法的反射不会破坏对象数据。

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/2809.html

(0)
江山如画的头像江山如画管理团队
上一篇 2018年10月18日 上午8:41
下一篇 2018年10月23日 下午3:55

99%的人还看了以下文章

  • 赞!1条语句快速将python程序打包成可执行文件

    python程序编写好后,如何将python程序打包成成可执行文件呢? 今天125建站网教大家使用pyinstaller打包命令将python程序打包,希望大家有所收获。 一、安装pyinstaller pip3 installer pyinstaller # 清华镜像安装 # pip3 install -i https://pypi.tuna.tsingh…

    2023年2月3日
    1.9K0
  • 动态网站开发技术asp、asp.net、php、jsp比较

    asp、asp.net、php、jsp技术简介 ASP 全称为Active Server Pages(中文译名为活动服务器页面),是微软公司推出的用于Web应用服务的一种编程技术.采用的脚本语言: VBScript 和JavaScript。 ASP.NET 微软公司很快公布了其宏伟的“Windows.NET”计划,发布了成为下一代网络服务框架的NGWS,同时…

    2018年3月15日
    3.5K0
  • python 初学者练手上机实操四

    1.用*打印一个如下所示的图形。(10分) * * * * * * * * * * print(‘*’) print(‘* *’) print(‘* * *’) print(‘* * * *’) 要求分别使用for和while语句实现 导入turtle包(impo…

    2023年5月5日
    5.2K0
  • Python编程案例-4行代码绘制股票趋势图(numpy+matplotlib)

    新手学习Python编程案例,每日编写一个小程序! import numpy as np import matplotlib.pyplot as plt 时间轴 = np.arange(10) #print(时间轴) 股票价格轴 = 时间轴 * 2 + np.sin(时间轴) * 5 #print(股票价格轴) plt.plot(时间轴, 股票价格轴) pl…

    2023年1月26日
    28.9K0
  • 第一个Tkinter程序

    Tkinter(Python GUI编程)从入门到精通(一) 上一篇文章介绍什么是Tkinter?tkinter的优缺点,tkinter的开发工具。 今天我们在上一篇的基础上,开始给主窗口添加文本、按钮,并给按钮绑定一个事件,点击按钮弹出一个消息窗口。 创建label label=tk.Label(root,text=”hello GUI&#82…

    2022年8月25日
    3.0K0
  • 如何设置mysql自动更新创建时间和更新时间

    做项目时,希望:新增记录时,mysql自动将系统的当前时间set到创建时间和更新时间这两个字段中。更新记录时,mysql只update更新时间字段的时间。 设置mysql自动更新创建时间和更新时间的方法: 找到表中创建时间和更新时间的字段,将其修改为下列代码。创建时间字段 ‘creat_time’ timestamp NULL DEFAULT CURRENT…

    2018年12月24日
    9.1K0

发表回复

登录后才能评论