Java的静态域以及封装性相关
EmployeeTest类,用于定义一个简单的属性类。
1 package yang.src; 2 3 import java.util.Date; 4 5 public class EmployeeTest { 6 private Date hireDay; 7 public static final int gId = 10; 8 9 public int iData = 11; 10 public static int iData1 = 12; 11 12 public Date getHireDay() { 13 return hireDay; 14 } 15 16 public Date getCloneHireDay(){ 17 return (Date)this.hireDay.clone(); 18 } 19 20 public void setHireDay(Date hireDay) { 21 this.hireDay = hireDay; 22 } 23 24 public EmployeeTest(int year,int mouth,int day) { 25 this.hireDay = new Date(year - 1900,mouth - 1,day); 26 } 27 28 public static void funcTest(){ 29 } 30 }
MainSrc类,用于进行EmployeeTest类的实例化与封装性测试调用:
1 package yang.src; 2 3 import java.util.Date; 4 5 /** 6 * 7 * @author lowitty 8 * @version V 1.0 9 * 应该尽量避免编写返回引用可变对象的访问器方法。 10 * 因为如果在这样做的话可能会严重破坏封装性,应该返回对对象的克隆。 11 * 12 * 1,静态域(静态变量)与静态方法 13 在Java中,如果将一个域(变量)定义为static,那么每个类中只有这样一个域(值),而不管这个类有多少个拷贝。 14 静态域的ID属于特定的类,并不属于该类的某一个实例。 15 Class Employee{ 16 public int eId; 17 public static int nextId; 18 } 19 每一个雇员对象都有自己特有的EID,但是所有雇员类的实例都共享一个nextId.静态域只属于类,不属于类的实例,因此静态域又叫做类域。 20 * 21 */ 22 23 public class MainSrc { 24 public static void main(String[] args){ 25 EmployeeTest em = new EmployeeTest(1989,12-1,23); 26 Date d = em.getHireDay(); 27 double b = 10*365.25*24*60*60*1000; 28 d.setTime(d.getTime() - (long)b); 29 System.out.println(em.getHireDay() + "\n" + d + "\n" + em.gId + "\t" + EmployeeTest.gId); 30 } 31 }
转载于:https://www.cnblogs.com/lowitty/archive/2012/11/13/2768223.html
Java的静态域以及封装性相关相关推荐
- Java反射破坏了封装性?
这是本菜鸡面试时被问到的一个问题,觉得挺有意思的,遂打算写一篇文章简单的谈下自己的看法. 在讨论这个问题之前,让我们先来简单复习一下Java反射的知识. Java 反射 一.类型信息 在回顾Java反 ...
- 第15天学习Java的笔记(封装性,this,构造方法)
还有35天! 面向对象三大特征之封装性 package Demo1501;/** 面向对象三大特征:封装.继承.多态** 封装性在Java中的体现:* 1.方法就是一种封装* 2.关键字private ...
- Java新职篇:多态性、封装性与继承性相互作用是什么?
如果用得当,在由多态性.封装性和继承性共同组成的编程环境中可以写出比面向过程模型环境更健壮.扩展性更好的程序.精心设计的类层级结构是重用你花时间和努力改进并测试过的程序的基础,封装可以使你在不破坏依赖 ...
- 局部变量和成员变量;Java的封装性;private关键字和this关键字
局部变量和成员变量的区别: 定义的位置不一样[重点] 局部变量在方法内: 成员变量在方法外,类以内: 作用范围不一样[重点] 成员变量在整个类都可以用 默认值不一样[重点] 成员变量在没有赋值的情况下 ...
- java的封装性_Java10-java语法基础(九)——java的封装性
Java10-java语法基础(九)--java的封装性 一.Java的三大特性:封装.多态.继承 封装:通过类封装对象的数据成员和成员方法,保证只有可信的类或者对象能够访问这些方法和数据成员,对不可 ...
- java的封装性的优点_18、Java的三大特性之封装
Java的三大特性 java是一个面向对象的语言,所以java也有面向对象语言的三大特性:继承,封装,多态,任何一个java项目,都会用到这三种特性,所以掌握好这三大特性非常的重要. 封装 我们为什么 ...
- Java基础-学习笔记(六)——类的封装性
1.类是模板,对象是具体的实例 2.如果成员函数中的局部变量与成员变量名一致,则该方法对这个变量名的访问是局部变量 class lesson1 {int age=9;void talk(){int a ...
- java面向对象的特征封装_Java总结-Java面向对象的基本特征之一:封装性
作者:nyist-tc-岑国玉 来源:牛客网 Java面向对象的基本特征之一:封装性 封装性: 1.封装性的目的:保护某些属性和方法不被外部所看见. //这里说一下自己学linux时老师教我这个封装类 ...
- java 打破封装_继承打破了封装性
今天看OOD启思录的时候,看到继承那章,回想到之前看Effective JAVA的时候,看到那里举的一个继承的危险性的例子,不过记得不是很精确,于是就翻出那本书: 第十四条,复合优先于继承. 那里说, ...
最新文章
- Python---哈夫曼树---Huffman Tree
- 同事埋了个坑:Insert into select语句把生产服务器炸了
- c语言程序设计上机考试占多少分,C语言程序设计上机考试题目汇编.doc
- 互联网体系结构(网络基础).教案
- 将本地工程上传到github
- C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(六)完美移动
- nginx在linux下是服务吗,[Linux]如何给Nginx添加服务
- 微信浏览器取消缓存的方法
- 学习笔记(11):Python网络编程并发编程-粘包底层原理分析
- matlab表达式部分项求和,matlab如何得到符号表达式中某一部分项的系数
- Python操作Kafka爬坑
- LeetCode 153 寻找旋转排序数组中的最小值
- layui的table实现,strust2+layui+jsp
- WebLOAD Open Source 从入门到精通
- python中pass的使用_Python pass详细介绍及实例代码
- java手机解锁密码_Appium 解决手势密码 (java篇)
- “确定“和“取消“摆放顺序
- C语言中file文件指针概念及其操作 (转载)
- 零成本、零流量,我是如何空手反套白狼?
- 云南企业私有云平台搭建解决方案、Zstack云平台管理软件介绍