博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java探索之旅(7)——对象的思考
阅读量:7031 次
发布时间:2019-06-28

本文共 1356 字,大约阅读时间需要 4 分钟。

1.知识要点  

    ❶不可变类:一旦创建,其内容不能改变的类称之为不可变类。满足:所有数据域私有,没有修改器,没有访问器方法,其返回一个指向可变数据域的引用。(这样通过引用就能修改私有数据域)。比如,返回数组,String等皆可能导致实际数据被改变

    ❷变量作用域:类的变量和方法可以任意顺序出现,只要方法没有使用某个变量。方法可以定义与类数据变量名称(实例变量和静态变量)相同的局部变量,且使用具有较高的优先级。

    ❸this引用:指向本身的引用。可以在无参和少参构造函数中使用this调用多参构造函数,便于维护,使用方法this(参数表)。此时this指向类名。Java要求这种使用在任何其他语句之前出现。

    ❹一个对象可以包括另外一个对象,关系称之为组合。即类的数据域可以定义另外一个类的引用变量。

2.类的设计原则

    

    ❶内聚性:描叙单一实体。所有操作应该在逻辑上配合,支持连贯的目标。

    ❷一致性:命名遵循规则

    ❸封装性:private隐藏数据域。get和set提供访问器和修改器。

    ❹清晰性:在不产生混淆的情况下,凭直觉来定义。

    ❺完整性:供不同的用户使用的齐备功能

    ❻实例和静态:不依赖于单独对象的变量和方法应该声明静态。实用类名引用静态变量和方法。提供公有的静态修改器,修改静态数据域。实例可以调用静态(实例和方法),但静态不能调用实例(变量和方法)

3.实例-栈

public class StudyObject {	static int size=10;	public static void main(String args[])	{		Stack mystack = new Stack();		java.util.Random random=new java.util.Random();//随机数		random.setSeed(100);		for(int i=0;i
=elements.length) { int[] temp=new int[size+1]; System.arraycopy(elements, 0, temp, 0, size);//扩展数组,字符串复制 elements=temp; } elements[size++]=e; } public int pop() { int last=elements[--size]; int[] temp=new int[size]; System.arraycopy(elements, 0, temp, 0, size);//删除最后一个元素 elements=temp; return last; } public int peek() {return elements[size-1];} public boolean isEmpty() {return size==0;} public int getSize() {return size;} public void getElements() { for(int i=0;i

转载于:https://www.cnblogs.com/engineerLF/p/5393094.html

你可能感兴趣的文章
Acm Dima and Lisa的题解
查看>>
深入浅出Tomcat系列
查看>>
从网页提取的关键字
查看>>
位运算符
查看>>
PHP str_replace() 和str_ireplace()函数
查看>>
什么是全栈工程师
查看>>
Html5新特性
查看>>
linux下简易端口扫描器
查看>>
HDU 1205
查看>>
Openstack-L 路由注入方式
查看>>
利用ROS工具从bag文件中提取图片
查看>>
Java常用类库
查看>>
Android开发之Activity转场动画
查看>>
List集合三种遍历方法
查看>>
【译】OpenDaylight控制器:YANG Schema和Model
查看>>
C#访问修饰符(public,private,protected,internal,sealed,abstract)
查看>>
android消息线程和消息队列
查看>>
EXCEL中计算不重复单元格的个数
查看>>
二层设备与三层设备的区别--总结
查看>>
安装pytorch成功但cuda不可用
查看>>