多学习才能多赚钱之:java中this什么用
citgpt 2024-11-25 10:03 3 浏览 0 评论
java中this什么用
1、this调用当前属性:其主要作用是当需要给类中的数据进行初始化时,可以通过this来进行赋值,而不用随便定义一个变量来进行赋值,更有利于代码的阅读与理解(推荐教程:java教程)
class Book{//定义书的类
private String name;//书本名字
private int price;//书本价格
public Book(String name,int price){ //使用this对类的数据进行初始化
this.name = name;
this.price = price;
}
/*public Book(String n,int p){ //若不使用this关键字只能这样进行赋值,不利于将变量与属性统一起来
name = n;
price = p;
}*/
public String getInfo(){
return "书籍:" + name + ",价格:" + price;
}
}
public class ThisDemo{
public static void main(String args[]){
System.out.printIn(new Book("Java",89.9).getInfo())
}
}
2、this调用方法(普通方法、构造方法)
(1)普通方法:
class Book{//定义书的类
private String name;//书本名字
private int price;//书本价格
public Book(String name,int price){//使用this对类的数据进行初始化
this.name = name; 6 this.price = price;
this.print();//调用本类普通方法,虽然可以不用使用this也可以进行本类普通方法的调用,但是好的习惯最好应该加上,目的是可以区分方法的定义来源
}
public String getInfo(){
return "书籍:" + name + ",价格:" + price;
}
public void print(){
System.out.printIn("***********");
}
}
public class ThisDemo{
public static void main(String args[]){
System.out.printIn(new Book("Java",89.9).getInfo())
}
}
(2)构造方法:普通方法与构造方法的区别是构造方法在创建后只能掉用一次,用来初始化数据,而普通方法在创建后可以调用多次。
当需要使用构造方法输出同一重复内容时,若不使用this关键字,则只能使用如下代码:
class Book{//定义书的类
private String name;//书本名字
private int price;//书本价格
public Book(){//无参构造
System.out.printIn("*************");
}
public Book(String name){//一参构造
System.out.printIn("*************");
this.name = name;
}
public Book(String name,int price){//二参构造
System.out.printIn("*************");
this.name = name;
this.price = price;
}
public String getInfo(){
return "书籍:" + name + ",价格:" + price;
}
}
public class ThisDemo{
public static void main(String args[]){
System.out.printIn(new Book("Java",89.9).getInfo())
}
}
显然,这样大大浪费了代码行数,而应该使用this进行构造方法的调用,方法如下:
class Book{//定义书的类
private String name;//书本名字
private int price;//书本价格
public Book(){//无参构造
System.out.printIn("*************");
}
public Book(String name){//一参构造
this();//调用本类中的无参构造
this.name = name;
}
public Book(String name,int price){//二参构造
this(name);//调用本类中的一参构造
this.price = price;
}
public String getInfo(){
return "书籍:" + name + ",价格:" + price;
}
}
public class ThisDemo{
public static void main(String args[]){
System.out.printIn(new Book("Java",89.9).getInfo())
}
}
注:对this调用必须是构造方法中的第一个语句,否则便会出错,当然也不能在普通方法中调用构造方法。
最为重要的是,使用this调用不能形成循环,即不能形成递归调用而没有出口。
3、this表示当前方法
class Book{
public void fun(){
System.out.printIn("FUN方法"+this);
}
}
}
public class ThisDemo{
public static void main(String args[]){
Book b1 = new Book();
System.out.printIn("MAIN方法"+b1);
b1.fun();//有b1调用fun方法(this = b1)
//两个输出结果的地址一样,代表着此时this代表着b1
System.out.printIn("*************")
Book b2 = new Book();
System.out.printIn("MAIN方法"+b2);
b2.fun();//此时输出结果和b2一样
}
}
在整个过程中,this的定义没有变,只要有某一个对象调用本类中的方法,此时this就表示当前执行的对象。
以上就是java中this什么用的详细内容,更多请关注其它相关文章!
更多技巧请《转发 + 关注》哦!
相关推荐
- 外贸网站建设要多少钱?外贸网站建设周期要多久
-
大家好,我是【无锡柠萌网络lemon56.com】的小美,今天分享:外贸网站建设要多少钱?外贸网站建设周期要多久您关注的问题·FAQ外贸网站建设中遇到的常见问题,让您少走弯路,提高效率!...
- 500块搭建一个可以卖货的跨境电商独立站,包括服务器和域名吗?
-
用500元搭建一个可以卖货的跨境电商独立站,虽然有一定挑战性,但通过精打细算和选择合适的工具和服务,仍然是有可能的。以下是一些建议,帮助你在预算范围内实现这个目标,包括服务器和域名的选择。...
- 无锡网络公司设计搭建阀门网站一般要多少钱?
-
无锡网络公司设计搭建阀门网站一般要多少钱?这是一个涉及多方面因素的复杂问题,其费用因网站规模、功能需求、设计复杂度及后续维护等因素而异。首先,从基础成本出发,域名注册是搭建网站的第一步,费用通常在几十...
- 定制化网站开发大概多少钱
-
定制化网站开发的价格因项目的复杂性、功能需求、设计要求和开发时间等因素而异。以下是一些常见的定制化网站开发价格范围,供参考:1.简单的定制化网站开发:一般来说,一个简单的定制化网站开发项目可能需要花...
- 9月安卓手机性能排行榜出炉:前十名差距仅为7%
-
时间已经进入9月,按照安兔兔目前的安卓手机性能榜单显示,红魔9SPro+依旧力压其他热销手机成为榜首,可见游戏定位的这款手机,在性能上确实非常的出色。不过,笔者也发现了一个问题,其中前十名中得分最高...
- 装修公司怎么在网络平台接单?实现高效获客
-
装修行业正经历着深刻的变革,随着消费者需求的日益多样化与个性化,传统的线下获客方式已难以满足装修公司的业务需求。因此,装修公司必须紧跟时代步伐,充分利用网络平台实现高效获客。1、入驻装修接单平台:壹品...
- 企业如何利用二维码进行线上营销?
-
#企业如何利用二维码进行线上营销?#企业利用二维码进行线上营销,可以从以下几个方面入手:?1.设计创意二维码?:...
- 家电销售该怎么线上拓客
-
社交媒体平台:利用微信、微博、抖音等平台,定期发布家电产品的信息、使用心得、促销活动等内容。引流靠手动一定是不行的,所以一般使用点软件肯定没错,最近用了款比较冷门的APP,"里德助手Plus...
- pop社交软件,脱单软件排行榜
-
在交友软件里面脱单是非常明确的一件事,各年龄各社交平台上的女人都是有所不同的,具体问题具体分析一下。接下来就说说又哪些比较优质的恋爱脱单软件。...
- 手机处理器最新跑分排行榜,你的手机什么水平?
-
手机处理器最新跑分排行榜,你的手机什么水平?第1名:天玑9300第2名:骁龙8Gen3第3名:A17Pro第4名:天玑9200第5名:骁龙8Gen2第6名:骁龙8Gen1...
- 继番茄小说后,字节再推免费网文 App“蛋花小说”和“常读小说”
-
据Tech星球报道,字节跳动公司近期推出了两款全新的免费网文App,分别是“蛋花小说”和“常读小说”。这两款产品的开发公司分别为湖北福瑞兴网络科技有限公司和湖北聚合润网络科技有限公司,均为字节跳动的1...
- 全世界最好用的AI软件排名是?
-
Hey小伙伴们,今天咱们来聊聊那些让人爱不释手的AI神器!在这个智能化时代,谁还没几个拿得出手的AI软件呢?别急,我这就给你盘点一波全球超火的AI软件,保证让你大开眼界!...
- 手机root软件哪个成功率高?手机root软件排行榜2025
-
作为游戏玩家,欲在手游中畅玩无阻,root权限不可或缺,可优化画质、启用辅助。2025年已至,究竟哪些手机root软件能脱颖而出?哪款软件的root成功率会独占鳌头?一、手机root软...
- 独立站新手教程引流篇:如何优化谷歌广告投放效果?
-
随着谷歌广告单价的持续上涨,如何在提升投放效果的同时,降低推广费用成为每一个独立站卖家的必修课。因此新手卖家在完成初步的广告投放流程后,最重要的就是了解一下谷歌广告优化的基础策略。设置转化跟踪即利用G...
- 云媒易:干货知识分享!海外推广的渠道有哪些,如何正确的选择?
-
越来越多的海外企业或国内的跨境商家认识到海外的网络营销的作用,开展线上外贸营销,渠道是非常的重要,那么海外的推广渠道有哪些?企业应该如何选择呢?1、社交媒体推广社交媒体推广是现在海外推广方式中最热门的...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- oracleclient (56)
- springbatch (59)
- oracle恢复数据 (56)
- 简单工厂模式 (68)
- 函数指针 (72)
- fill_parent (135)
- java配置环境变量 (140)
- linux文件系统 (56)
- 计算机操作系统教程 (60)
- 静态ip (63)
- notifyicon (55)
- 线程同步 (58)
- xcode 4 5 (60)
- 调试器 (60)
- c0000005 (63)
- html代码大全 (61)
- header utf 8 (61)
- 多线程多进程 (65)
- require_once (60)
- 百度网盘下载速度慢破解方法 (72)
- 谷歌浏览器免费入口 (72)
- npm list (64)
- 网站打开速度检测 (59)
- 网站建设流程图 (58)
- this关键字 (67)