Object类的九个方法

在java里面所有的对象都会继承Object类

1. clone 方法

保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用此方法,否则抛出CloneNotSupportedException异常。

2. getClass方法

final方法,获得运行时的类型

3. toString方法

该方法使用的比较多,一般子类都有覆盖

4. finalize方法

该方法用于释放资源。因为无法确定该方法什么时候被调用,很少使用到。

5. equals方法

该方法是一个非常重要的方法。一般equals和==是不一样的,但是在Object中两者是一样的。子类一般都要重写这个方法。

6. hashCode方法

该方法用于哈希查找,重写了equals方法一般都要重写hashCode()方法。这个方法在一些具有哈希功能的Collection中用到。
一般必须满足 obj1.equals(obj2)==true
可以推出 obj1.hashCode()==obj2.hashCode()
但是hashCode相等不一定就满足equals。不过为了提高效率,应该尽量使上面两个条件接近等价。

7. wait方法

wait方法就是使当前线程等待该对象的锁,当前线程必须是该对象的拥有者,也就是具有该对象的锁。wait()方法一直等待,直到获得锁或者被中断。wait(long timeout)设定一个超时间隔,如果在规定时间内没有获得锁就返回。
调用该方法后当前线程进入睡眠状态,直到以下事件发生。

(1)其他线程调用了该对象的notify方法。
(2)其他线程调用了该对象的notifyAll方法。
(3)其他线程调用了interrupt中断该线程。
(4)时间间隔到了。

此时该线程就可以被调度了,如果是被中断的话就抛出一个InterruptedException异常。

8.notify方法

该方法唤醒在该对象上等待的某个线程。

9.notifyAll方法

该方法唤醒在该对象上等待的所有线程。

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
objc中的减号与加号 ①减号表示一个函数、或者方法或者消息的开始(在一个的实例上被调用和实施) ②加号表示其他的函数可以直接调用这个中的方法,而不用创建这个的实例 3.NS开发包 乔布斯的NextStep公司缩写,现今mac os使用NS这套函数库 4.#import作用如同#include,用于声明头文件。 5.nil表示空指针,相当于java的null 6.objc中使用字符串,前面要加上"@",是因为在前面加上"符号",编译器在编译的时候会在程序中给你留出位置,这样才能保证这个字符串不会丢失。(@是把C的字符串转成NSString的一个简写) 7.开发objc,需要创建一个头文件和一个实现文件 ①头文件(.h):包含的实例变量的名称和型、描述方法参数和返回值型的方法签名; ②实现文件(.m):包含这些方法的实现代码,以及对别的不可见的,仅与实现本身相关的局部变量的声明和使用。 8.九宫格解法原理;(右上解法) 左出右写入、右出左写入、上出下写入、下出上写入、重排置下; 9.iphone应用程序的项目基本结构 classes:里面存放object-c源代码文件(可以创建子文件夹来组织代码); other sources:存放除objective-c之外的源代码文件; resources: 包含应用程序中的非代码文件(因为应用程序只能在自己的沙盒中运行,不然找不到); Frameworks:特殊的库,可以存放库、框架、图像、声音等资源; Products:包含项目在编译时生成的应用程序(xxx.app); 10.Info.plist文件里的bundle identifier(束标识符) 它是应用程序的唯一标识符,要始终配置,命名格式为:顶级Internet域+.+公司名称+.+应用名称; 11.一个在代码里对nib中对象(UILabel、UITextField等)的引用被称为一个插座变量(outlet),用关键字IBOutlet标明(在头文件里);能够被nib中对象调用的方法称为动作(action),用关键字IBAction标明(在实现文件里)。 12.在实现某个动作或是对象后要对这个动作或是对象后要使用release释放内存。 13.IBOutlet 输出口 使用关键字IBOutlet来声明实例变量,并通过这个实例变量来引用nib中的对象; 14.-(IBAction)doSomething:(id)sender 控制某个对象执行某项动作 通过关键字IBAction来声明,通过IBAction告诉interface Builder,此方法是一个操作,且可以被某个控件触发;通常 这个操作接受一个参数,该参数被定义为id,名称被指定为sender.(当需要传参数的时候就通过sender来传递,当不需要传参数的时候sender可以不写的); 15.@property (retain , nonatomic) UILable textArea; retain是通知编译器向分配给此属性的对象发送一个保留(retain)消息,确保属性的实例变量在被使用过程中不会被从内存中删除; nonatomic是 创建一个互斥访问,避免读和写不同步(非原子性访问); 通过这个属性声明访问来提高执行的效率;(原子性好比如我们去银行存钱,存进去的时候银行账户就会同时增加相应的数额,有一面失败就都回到原来的状态); 16.内存管理 ①:程序A里有一段内存被成功申请完成之后,内存计数器就从0变为1 (这个过程是alloc); ②:然后程序B里也要使用这个内存,那么内存计数器从1变为2 (这个过程是retain); ③:紧接着程序A不需要这个内存了,那么程序A就把这个内存计数器减1 (这个过程是release); ④:当系统发现这个内存计数器变为0,那么就调用内存回收程序把这段内存回收(这个过程是dealloc); 17.objc使用消息机制来调用方法,消息就是一个或者对象可以执行的动作 消息表达式:[对象或者名字 方法名字:参数序列]; 对象或者名字:接收器,是消息的接收者; 方法名字:参数序列:要发送的消息(要执行的动作);
/*============================================================================== * * Filename: TSQLServer.cs * Description: 本次常用代码封装为数据库通用访问: * 包含以下方法: * 1.获取数据库连接字符串,创建数据库连接命令,判断数据字符数组 * 2.执行非查询ExecuteNonQuery返回受影响的行数,增加,修改,删除, * 3.执行Sql语句返回DataRow一行数据信息 * 4.执行Sql语句返回DataTable数据信息 * 5. 执行多条SQL语句,实现数据库事务。如果插入或者修改数据运用事务时候,其中一行报错,将事务回滚。 * 6.在执行命令文本时后,传递sql语句运用Regex re = new Regex(@"@[a-zA-Z0-9]") 则正则表达式进行配匹, * 提高安全性。 * Version: 1.0 * Created: 2012.08.02 * Author: liangjw * Company: Copyright (C) Create Family Wealth Power By Peter * ==============================================================================*/ * 实用方法简单讲解,下面以TSQLServer.cs为例子: 1.我们最常用的方式就是增删改查,在使用时简单方面,例如我们需要做修改一行记录需要返回DataRow一行记录 需要调用方法调用如下: public static DataRow GetRow(params object[] values) { return TSQLServer.ExecDr("select * from [tb] where id = @1", values); } 2.返回一个DataTable数据集合调用如下: public static DataTable GetTable(object[] s = null) { return TSQLServer.ExecDt("select * from [tb] ", s); } 3.更新一条数据 public static int Update(params object[] values) { return TSQLServer.ExecuteNonQuery(@"update [tb] set test1= @1,test2= @2 where id = @id", values); } 4.插入一条数据 public static int Insert(params object[] values) { return TSQLServer.ExecuteScalar(@"insert into [tb](test1,test2) values(@1,@2);SELECT @@IDENTITY",values).ToInt32(); } * 以上该文件的代码封装的是部分代码,仅供参考 * 备注信息: 上传部分自己总结的常用方法的封装,有不足和不完美之处,希望大家指出来,愿意一起 * 学习和讨论有关asp.net mvc ,Ajax ,jquery ,,html/css,xml ,sqlserver ,wpf,IIS相关技术的交流和学习。
在他人的DBGridEh导出到Excel的基础上进行改进,增加功能如下: 1、支持多个DBGridEH同时导出到Excel的不同Sheet页 2、进度条与数据进度保持一致 3、增加了进度百分比显示 //调用方法: procedure TForm1.Button1Click(Sender: TObject); var DbOut: TDBGridEhToExcel; i: integer; begin try DbOut := TDBGridEhToExcel.Create(Self); for i := 0 to 9 do //初始化数组 begin DbOut.DBGridEhRecAry[i].TempDBGridEh := nil; DbOut.DBGridEhRecAry[i].TitleName := ''; DbOut.DBGridEhRecAry[i].SheetTabName := ''; end; //有多少个DBGridEh的数据要导出,此处表示两个 DbOut.DBGridEhRecLength := 2; //统计结果一 DbOut.DBGridEhRecAry[0].TempDBGridEh := dbgSpotCheckCount; DbOut.DBGridEhRecAry[0].TitleName := '统计结果一'; DbOut.DBGridEhRecAry[0].SheetTabName := '统计结果一'; //统计结果二 DbOut.DBGridEhRecAry[1].TempDBGridEh := dbgValuationCount; DbOut.DBGridEhRecAry[1].TitleName := '统计结果二'; DbOut.DBGridEhRecAry[1].SheetTabName := '统计结果二'; DbOut.TitleName := '统计结果'; DbOut.ShowProgress := True; DbOut.ShowOpenExcel := True; DbOut.ExportToExcel; finally FreeAndNil(DbOut); end; end; 还可以改进的地方,比如: 1、标题栏占用几行,字体,字体颜色,字体大小,背景颜色可以封装提供设置方法; 2、字段标题字体,字体颜色,字体大小; 3、表格样式设置; 就是动态数据不会封装到里面,如果有高人封装得更好一些,请发一份我;

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值