- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3类的定义与使用测试
类的定义与使用测试
1、类的结构:
[修饰词] class 类名 {
//成员变量:[修饰词] 数据类型 变量名 [=初始值]
其中修饰词可以是public、proteced、private、static、final
成员变量用于描述类的特征及需要处理计算的数据
//成员方法
构造方法
名字与类名完全相同,只能用于创建对象(即对类的实例化)
读写访问器方法
void setXxx(参数)和返回值类型getXxx()方法,用于改变和获取数据的值
一般运算的方法 :用于描述类的行为,即改变数据的方法(具体算法)。
方法的重载:类中出现多个同名的方法,但参数不同,这种现象叫重载。
}
其中,类的修饰词可以是public、abstract(抽象类)和final(最终类)中的一个或多个的组合。 但abstract和final不可以同时修饰
2、如何定义类:
完成类头的描述
确定描述类的特性变量(数据类型)
确定类中行为方法(返回值类型、参数和具体算法)
3、类的使用:
对象的创建及过程
对象的声明:与定义变量类似
类名 对象名; //此时的对象是空对象,不能使用
对象的创建:通过构造方法进行实例化
对象名=new 构造方法();
类名 对象名=new 构造方法();
对象创建过程
首先为类中成员变量分配空间
然后执行构造方法中的语句
最后将成员与对象关联
特别注意:类成员与实例成员的分配和this关键字的应用
成员的调用
对象名.成员变量
对象名.成员方法(实际参数);
注意:类成员可以通过类名直接引用,而实例成员只能通过对象引用
3.设类U声明,及对象u和v的定义如下:
class U{
int x, int y;
U(int a, int b){x= a; y = b;}
void copy(U a){ x = a.x; y = a.y;}
}
U u = new U(1, 2), v = new U(2, 3);
在以下供选择的代码中,可能引起系统回收内存的是( )
A.u.x=v.y;u.y=v.x; B.u=v; C.u.copy(v); D.v.copy(u);
13.在类声明之前用_________修饰,声明类是不能被再继承的类,即它不能再有子类。
22.请写出在类的方法的定义之前,加上修饰字public、private的区别。
32.阅读下列程序,请写出该程序的输出结果。
class A {
int x, y;
A(int a, int b) { x= a; y= b; }
}
public class sample {
public static void main(String args[]) {
A pl, p2; p2 = new A(12, 15);
p = p2; p2.x++; System.out.println(p1.x= + p1 .x);
}
}
3.Java语言中,在类定义时用final关键字修饰,是指这个类( )
A.不能被继承B.在子
C.能被别的程序自由调用D.不能被子类的方法覆盖
22.以下代码定义了一个类,请指出其中三条不合法的代码行(行号参见注释)。
class Test22{ //1
float u;static float v; //2
static void setUV(boolean f){ //3
u=fac1(f); //4
v=fac2(!f);} //5
static float facl(boolean f){return f?u:v;} //6
float fac2(boolean f){return f?v:u;} //7
} //8
33.下列程序,请写出该程序的输出结果。
class Test33 {
static voids (int b[ ], int k) {
int i, j, t;
for(i = 1;i k; i++) {
for(t = b[i], j = i-1; j = 0 t b[j]; j--) b[j+l] = b[j];
b[j+ 1 ] = t;
}
}
public static void main(String []args){
int i, a[] = {6, 12, 7, 11, 5 }; s(a, 5);
for(i = 0;i a.length; i++) System.out
文档评论(0)