1.Clone()方法产生一个object,使用方法后必须产生的object赋值。

Vector v2 = (Vector)v.clone();

2.Clone()方法在object中是保护类型方法,如果自己创建的类需要使用Clone()方法的话需要自己重新写一个,并且继承Cloneable接口。

package tweleve;

import java.util.*;

class MyObject implements Cloneable {
int i; MyObject(int ii) {
i = ii;
} public Object clone() {
Object object = null;
try {
object = super.clone();
} catch (CloneNotSupportedException e) {
System.out.println("MyObject can't clone");
}
return object;
} public String toString() {
return Integer.toString(i);
}
} public class LocalCopy {
static MyObject g(MyObject v) {
v.i++;
return v;
} static MyObject f(MyObject v) {
v = (MyObject) v.clone();
v.i++;
return v;
} public static void main(String[] args) {
MyObject aMyObject = new MyObject(11);
MyObject bMyObject = g(aMyObject);
if (aMyObject == bMyObject)
System.out.println("a==b");
else
System.out.println("a!=b");
System.out.println("a=" + aMyObject);
System.out.println("b=" + bMyObject);
MyObject cMyObject = new MyObject(31);
MyObject dMyObject = f(cMyObject);
if (cMyObject == dMyObject)
System.out.println("c==d");
else
System.out.println("c!=d");
System.out.println("c=" + cMyObject);
System.out.println("d=" + dMyObject); } }

3.如果希望一个类能够克隆那么需要有下列步骤:(1)实现Cloneable接口

(2)覆盖Clone()方法

(3)在自己的Clone()方法中调用super.clone()

(4)在自己的clone()中捕获违例

4.String类中所有能修改String的方法其实都创建和返回了一个新的String类,原来的String类是没有改变的,包括+和+=,StringBuffer比String操作字符串时更有效。

package tweleve;

import java.sql.Ref;

import org.omg.CORBA.SystemException;

public class Stringer {
static String upcase(String s){
return s.toUpperCase();
} public static void main(String[] args){
String qString=new String("howdy");
System.out.println(qString);
String qq=upcase(qString);
System.out.println(qq);
System.out.println(qString);
} }

Java学习笔记-12.传递和返回对象的更多相关文章

  1. Java 学习笔记 ------第四章 认识对象

    本章学习目标: 区分基本类型与类类型 了解对象与参考的关系 从打包器认识对象 以对象观点看待数组 认识字符串的特性 一."=" 和 "==" 当=用于基本类型时 ...

  2. java学习笔记(12) —— Struts2 通过 xml /json 实现简单的业务处理

    XML 1.引入dom4j-2.0.0.jar 2.引入jquery-1.8.2.js 3.新建common.js getInfo = function(){ $.post("getXmlA ...

  3. 0034 Java学习笔记-反射-初步2-操作对象

    通过反射创建对象 通过反射创建对象有两种方式,一种通过Class对象的newInstance()方法,一种是获取到Class对象的Constructor后,再调用newInstance()方法,前者要 ...

  4. Java学习笔记12(面向对象五:构造方法、this再探)

    在开发中,经常需要在创建对象的同时明确对象对的属性值, 比如一个Person对象创建时候就应该有age和name等属性 那么如何做到在创建对象的同时给对象的属性初始化值呢? 这里介绍构造方法: 1.构 ...

  5. Java学习笔记12

    循环 打印一个字符串(例如: "Welcome to Java!") 100次,就需要吧下面的输出语句重复写100遍,这是相当繁琐的: System.out.println(&qu ...

  6. Effective Java 学习笔记之创建和销毁对象

    一.考虑用静态工厂方法代替构造器 1.此处的静态工厂方法是指返回指为类的对象的静态方法,而不是设计模式中的静态工厂方法. 2.静态工厂方法的优势有: a.使用不同的方法名称可显著地表明两个静态工厂方法 ...

  7. JavaScript学习笔记(12)——JavaScript内置对象

    1.Number Javascript只有一种数字类型,可以有小数也可以没有,也可以使用科学计数法. var z=123e-5; // 0.00123 JavaScript 不是类型语言.与许多其他编 ...

  8. Java 学习笔记 二维数组和对象数组

    定义二维数组 int[][] a = new int[4][5]; 可以不指定列数 int[][] a = new int[4][]; 获取行 int i = a.length(); 如果使用第一个例 ...

  9. java学习笔记12(final ,static修饰符)

    final: 意思是最终的,是一个修饰符,有时候一个功能类被开发好了,不想被子类重写就用final定义, 用final修饰的最终数据成员:如果一个类的数据成员用final修饰符修饰,则这个数据成员就被 ...

随机推荐

  1. Java 分支结构

    Java 分支结构 - if...else/switch 顺序结构只能顺序执行,不能进行判断和选择,因此需要分支结构. Java 有两种分支结构: if 语句 switch 语句 if 语句 一个 i ...

  2. Canvas制作的下雨动画

    简介 在codepen上看到一个Canvas做的下雨效果动画,感觉蛮有意思的.就研究了下,这里来分享下,实现技巧.效果可以见下面的链接. 霓虹雨: http://codepen.io/natewile ...

  3. 【centOS7.3 彻底卸载MySQL】

    废话不多说,直接正面刚. 1.删除MySQL yum remove mysql mysql-server mysql-libs mysql-server; 执行后继续查找相关文件 find / -na ...

  4. Spring + Mybatis应该如何配置

    ### 1. MYBATIS简介 MYBATIS是持久层框架,大大的简化了持久层开发. 当使用MYBATIS框架时,开发人员不必再编写繁琐的JDBC代码,只需要定义好每个功能对应的抽象方法与需要执行的 ...

  5. javascript 正则表达式之分组与前瞻匹配详解

    本文主要讲解javascript 的正则表达式中的分组匹配与前瞻匹配的,需要对正则的有基本认识,本人一直对两种匹配模棱不清.所以在这里总结一下,如有不对,还望大神指点. 1.分组匹配: 1.1捕获性分 ...

  6. centos总结linux下svn安装与使用

    一.安装篇 centos下yum安装 yum install subversion 查看安装是否成功: svnserve --version 查看安装内容与位置 rpm -ql subversion ...

  7. [].slice.call的理解

    首先要说明[].slice.call()与Array.prototype.slice.call() 有什么区别? [].slice === Array.prototype.slice true []为 ...

  8. sample采样倾斜key并单独进行join代码

    /** * sample采样倾斜key单独进行join */ JavaPairRDD<Long, String> sampledRDD = userid2PartAggrInfoRDD.s ...

  9. telent connection refused

    1.问题场景 Centos7 做flume案例时,telnet hadoop-senior03.itguigu.com 44444 总是Connection redused, Trying 192.1 ...

  10. burp实时获取token

    在一些web网站里 会加入token来限制用户的一些操作 如果用户的请求里面没有这个token  那么我们的一些操作就会很麻烦 现在 我来演示一下burp如何自动更新token 首先 需要dvwa  ...