JAVA self study note3
来源:互联网 发布:网络词汇2017 编辑:程序博客网 时间:2024/06/10 00:20
JAVA中面向对象的编程思想
我们经常会创造一些对象使得他们的内容不被修改。称一个对象是不可改变的对象(immutable objects),称其类为不变类(immutable class),若需要访问私有变量,则必须使用方法去访问。
如果一个类是不可变的,其所有的数据域必须是私有的,也不能包含公有的set方法。但是,不包含设置set方法和公有变量的类不一定是不可变类。
比如下面的代码:
package com.shikun;public class Student {private int id;private String name;private java.util.Date dataCreated;public Student(int ssn, String newname){id=ssn;name=newname;dataCreated=new java.util.Date();//实例化一个日期类}public int getId(){return id;}public String getName(){return name;}public java.util.Date getDateCreated(){return dataCreated;}}测试上述类
package com.shikun;public class Test4 {public static void main(String[] args) {// TODO Auto-generated method stubStudent s1=new Student(1112233, "JECK");java.util.Date dateCreated=s1.getDateCreated();dateCreated.setTime(200000);//可以修改日期了。}}可以在类外修改,所以类也并不是不能改变的。
要使一个类是不可更改的必须具备三个条件
1,所有的数据域必须是私有的
2,不能有任何设置数据域的方法
3,没有访问方法可以返回数据域的引用。
例如下面这个就不属于不可变类
public class A{ private int[] values; public int[] getValues{ return values; }}
0 0
- JAVA self study note3
- JAVA self study note4
- JAVA self study note5
- JAVA self study note6
- JAVA类self study note
- JAVA类 self study note2
- Java self-study progress-01 Basic
- UILabel self-study
- UINavigationBar self-study
- UIViewController self-study
- UITableView self-study
- UIView self-study
- UIScrollView self-study
- UIColor self-study
- C Self-study Log
- Lua Self-study Log
- Self-study python(1)
- Self-Study Machine Learning Projects
- 黑马程序员——Java其他对象
- 关于listfragment中使用listview的点击事件不响应
- 控制反转
- mongodb之linux通用二进制包安装
- 常用的排序小算法
- JAVA self study note3
- iOS创建单例的两种方法
- 用EasyUI做的网站后台
- 面向对象-多态
- listview如何去掉分割线
- 校门外的树2
- 面向对象-接口
- UML- 统一建模语言(Unified Modeling Language)创建项目的序列图及类图
- 面向对象-抽象类