一、类的方法之构造方法
构造方法与普通方法的区别
用途 返回值 方法名
构 构造方法主要 不写数据类型 必须是类名
造 用于实例化对象,
方 可同时对对象的
法 属性进行初始化。
普 普通方法则主要 要标明数据类型 可以自己命名
通 是设置对象的行
方 为方法
法
**代码举例:
构造方法
语法格式:
public 类名(数据类型 形参名,...){
//方法体
}
例:
public Student(String n){
name = n;
}
普通方法
语法格式
public 返回值数据类型 方法名(数据类型 形参名,...){
//方法体
}
例:
public void study(){
System.out.println(name+"学习中,学分是"+score);//输出信息
}
**为什么我们可以做类似于
Student stu = new Student()的对象实例化?
注意到加了圆括号的都是方法,属性不行,类也不行,作为类的Student是没有资格加上()的,在此处Student()其实已经是一个方法了,Java默认给类提供一个构造方法,注意是构造方法,并且不带参数,但是若定义了与之完全相同的构造方法,如Student(){//方法体},则默认的被覆盖。
二、方法重载
1.条件
方法重载与参数有很大关系。除了方法名字必须完全相同外,所带参数的个数,类型,顺序,至少有一个是不同的。
2.如何调用
在调用方法时,系统自动查找与调用的方法参数一致的方法。
3.使用方法重载的情况
根据定义,使用方法重载的情况必是原有方法不能满足新的对象的使用需求,比如,同是手机,有的可以触屏,有的不可以,有的有键盘,有的没有,有的是智能机,有的不是……
往往是对象的“参数”个数,类型等等发生了改变,所有的一切可以还原到生活中,这就是面向对象的编程的优点,易于理解。
三、this关键字
this关键字的作用目前我所知……只有两种,第一,当参数名与对象的属性名相同时,在对象属性名前加this. 相当于用于标记和区分,this.代表当前,要注意在不同的方法中使用代表什么,举一个例子
public Student(String name){
this.name = name;
}
public Teacher(String name){
this.name = name;
}
两个this.name分别是Student跟Teacher类的属性
四、值传递
类似于C语言中的传值~我发现自己好喜欢把java跟C比较。。。举例:stu.setName("李四");直接把"李四"这个字符串传了进去。
它既可以用于普通方法,又可以用于构造方法
五、引用传递
类似于C中的传址~在此之前,要先搞懂对于Student stu = new Student();之后,stu中间到底存了些什么
插入上课时的笔记:
内存包括栈和堆,定义了Student stu;则在栈中开辟了内存空间存储,用于存储stu,并对她的初始值赋null;用new Student(),则在堆中开辟了一个空间,用来存储这个类中的方法跟属性,其中它的大小取决于类的大小。接着,构造方法会提供类的首地址,将类的首地址赋给了stu,其实stu存的是首地址~so,对stu进行两次Student stu = new Student();赋值,看起来赋的是相同的值,其实是不同的~
所以,相同类型的变量如stu1,stu2,stu3。。。。。。互相赋值,传递的是变量所存的地址,举例:
stu = new Student();
stu.setName("金");
Student stu2 = new Student();
stu2.setName("木");
Student stu3 = new Student("水");
stu3.setName("火");
stu2 = stu;
stu = stu3;
stu3 = stu;
}
输出结果:
火
金
火
分析:
stu2 = stu;(1)
stu = stu3;(2)
stu3 = stu;(3)
这一段语句,(1)后stu2存的已经是stu的地址了,(2)后stu存的就是stu3的地址了,(3)后stu3是stu的地址,但是
stu又已经是stu3原始的,所以,最终结果如上。
六、一些要注意的小点
1.参数名和属性名相同时,会默认使用离方法最近的参数名用this来区分
2.this("aaa")代表调用这个类中的具有一个字符串的参数的方法,如不不含有这个方法就会报错
3.GC:销毁释放内存空间
分享到:
相关推荐
营销策划第四课策划原理XXXX3月18日7至12.pptx
第三届蓝桥杯初赛C/C++高职组_2012年4月7日 1-10题全,不用处到,这是TXT文件,里面是个人发的两个链接.
四年级数学下学期第二三周作业3月7日无答案新人教版
第三届蓝桥杯初赛C/C++高职组_2012年4月7日 (广东的) 1-10题全,不用到找. 之前上传的Txt文件里的快盘资源已经更新 所以我上传一个新的,题目都在里面了, 之前我找资源也找了很久,所以......
1-18周(1-3节) 人工神经网络 刘道华(计算机楼501) 1-18周(1-3节) 第二节 第三节 第四节 下 午 第五节 第六节 第七节 第八节 备 注 9月3日正式上课 计算机与信息技术 学院(盖章) 填表时间:2018年8月28日 系统分析...
第03章 逆向环境的搭建(2019年3月7日).ppt
第3节:那些月入上万的卖家,都做对了这3点。 第4节:60秒选出,可日赚200元的虚拟产品 第5节:7个技巧,帮你选出能日销100单的实物产品。 第6节:从这个渠道找货,你不用压货,就能找到价格最低货源。 第7节:不费...
第二讲-政治传播与政治象征理论(贺2011年3月7日).ppt
第三节 7月20日 7 一、条件语句 7 二、循环语句 8 三、 几个循环的例子 9 第四节 7月21日 10 一、 方法的定义及声明 10 二、 方法的调用 10 三、 方法的重载 11 四、 基本数据类型对应的封装类 11 五、 几个常用的...
依次为:第1『智龙迷城』、第2『怪物弹珠』、第3『LINE:迪士尼消消看』。『LINEranger』再次闯入了前6,向大家展示了自己具有争夺前5的实力。 『海贼王:寻宝之旅』继续保持大好势头,目前仍居13位。同时昨天游戏...
第三节 数据的自动填充与公式运算 第四节 函数运算 第五节 设置单元格 第六节 修饰单元格 第七节 数据的排序和筛选 第八节 统计图表的建立与修改 3.八年级上册:(用Microsoft Photo Editor 软件) 第一单元 平面...
RHCE是市场上第一个面向Linux的认证考试,它不是一个普通的认证测试,和其他操作系统认证考试相比,RHCE考试需要花费一整天的时间,第1节Linux学习建议第2节Linux学习建议第3节系统结构与终端控制台第4节RHEL5-Linux...
33 ZhaoSir路由 3月7日(3) 34 ZhaoSir路由 3月7日(4) 35 ZhaoSir路由 3月7日(5) 36 ZhaoSir路由 3月8日(1) 37 ZhaoSir路由 3月8日(2) 38 ZhaoSir路由 3月8日(3) 39 ZhaoSir路由 3月8日(4) 40 ...
GPS教学实习报告 学 院: 专 业: 班级组号: 学生姓名: 学 号: 指导教师: 中国地质大学(武汉) 2014年 7月8日 至 2014年 7月14日 前言 3 GPS静态测量 3 第一部分 概述 3 (一)测区概况: 3 (二)作业依据: 3...
第四册 第6課 早く早く 一 次の単語の正しい読み方を、平仮名で( )に書きなさい。1×10=10点 1、暖房( ) 2、器具( ) 3、温暖化 ( ) 4、幼児( ) 5、幼い( ) 6、頻度( ) 7、急き立てる( ...
数学建模黄沙插值拟合,2004 年 6 月至 7 月黄河进行了第三次调水调沙试验,特别是首次由小浪底、三门峡和万家寨三大水库联合调度,采用接力式防洪预泄放水,形成人造洪峰进行调沙试验获得成功。整个试验期为 20 多...
篇二20年7月21日至7月23日我参加了由刘星海老师主讲的 《网络安全》课程,现将学习内容和心得总结如下: 第一天学习了网络安全现状需求分析。根据国家网络安全法律 关于网络安全的总结全文共6页,当前为第3页。法规...
2021年09月16日
年7月16日至23日在荷 兰阿姆斯特丹市召开。大会口号为:Geo—information for all,即地球空间信息为大家。会议包括三大 部分内容:代表大会、技术报告会和展览会。本文对 技术报告会和展览会进行概括和总结,供我国...