java中 this 关键字的三种用法
Java中this的三种用法
调用属性
(1)this可以调用本类中的任何成员变量
调用方法(可省略)
(2)this调用本类中的成员方法(在main方法里面没有办法通过this调用)
调用构造方法
(3)this调用构造方法只能在本构造方法中调用另一个构造方法
(4)this 调用构造方法必须写在第一行
eg:
 1 public class ThisDemo {
     private int id;
     private String name;
     public ThisDemo(){   //(1)this可以调用本类中的任何成员变量
         name="CosmosRay";
         id=110;
         //this.shoInfo();==shoInfo();
         this.shoInfo(); //(2)this调用本类中的成员方法(在main方法里面没有办法通过this调用)
     }
     public ThisDemo(String name){
         this.name=name;
     }
     public ThisDemo(String name,int id){
 //        this();         //this调用本类中的无参构造方法
         //(3)this调用构造方法只能在本构造方法中调用另一个构造方法
         //(4)this 调用构造方法必须写在第一行
         this(name);         //this调用本类中的有参构造方法
     }
     public void shoInfo(){
         System.out.println(this.id+" "+this.name);
     }
     public static void main(String[] args){   //程序的入口,static
         new ThisDemo("李四");  //匿名对象
         ThisDemo demo;  //定义一个变量名
         demo=new ThisDemo();  //创建一个对象
     }
 }
java中 this 关键字的三种用法的更多相关文章
- Java中this关键字的几种用法
		1 . 当成员变量和局部变量重名时,在方法中使用this时,表示的是该方法所在类中的成员变量.(this是当前对象自己) 如:public class Hello { String s = " ... 
- .NET(c#)new关键字的三种用法
		前几天去家公司面试,有一道这样的题:写出c#中new关键字的三种用法,思前想后挖空心思也只想出了两种用法,回来查了下msdn,还真是有第三种用法:用于在泛型声明中约束可能用作类型参数的参数的类型,这是 ... 
- NEW关键字的三种用法
		最近面试中有一道题是写new关键字的几种用法,想了下写下我知道的两种用法 第一种 创建对象.调用构造函数,这就不用讲了 ClassA A=new ClassA(); 第二种 是作为修饰符,显示隐藏继 ... 
- c# new关键字的三种用法
		三种用法如下: 在 C# 中,new 关键字可用作运算符.修饰符或约束. 1)new 运算符:用于创建对象和调用构造函数. 2)new 修饰符:在用作修饰符时,new 关键字可以显式隐藏从基类继承的成 ... 
- JAVA中创建线程的三种方法及比较
		JAVA中创建线程的方式有三种,各有优缺点,具体如下: 一.继承Thread类来创建线程 1.创建一个任务类,继承Thread线程类,因为Thread类已经实现了Runnable接口,然后重写run( ... 
- java中终止线程的三种方式
		在java中有三种方式可以终止线程.分别为: 1. 使用退出标志,使线程正常退出,也就是当run方法完成后线程终止. 2. 使用stop方法强行终止线程(这个方法不推荐使用,因为stop和sus ... 
- java中遍历集合的三种方式
		第一种遍历集合的方式:将集合变为数组 package com.lw.List; import java.util.ArrayList; import java.util.List; import ja ... 
- Java中List集合的三种遍历方式(全网最详)
		List集合在Java日常开发中是必不可少的,只要懂得运用各种各样的方法就可以大大提高我们开发的效率,适当活用各种方法才会使我们开发事半功倍. 我总结了三种List集合的遍历方式,下面一一来介绍. 首 ... 
- mybatis 中 foreach collection的三种用法
		foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合. foreach元素的属性主要有 item,index,collection,open,separator,close. ... 
随机推荐
- jquery iframe父子框架中的元素访问方法
			在web开发中,经常会用到iframe,难免会碰到需要在父窗口中使用iframe中的元素.或者在iframe框架中使用父窗口的元素 js 在父窗口中获取iframe中的元素 1. 格式:window. ... 
- mySQL遇到的问题
			学习mySQL遇到以下错误. 仔细检查才发现,是字段不一样. 所以插入数据,应该一一对应. 
- Linux系统服务之inetd
			[Linux系统服务之inetd] inetd的角色是作为Telnet和FTP等与网络服务器相关的进程的“超级服务器”.这是一个简单的道理:并不是全部的服务器进程(包括那些接受新的Telnet和FTP ... 
- encodeURI & encodeURIComponent
			[encodeURI & encodeURIComponent] 区别在于,"&", "+", 和 "=" 不会被enco ... 
- Typechecking With PropTypes
			[Typechecking With PropTypes] 1.props类型检查 React has some built-in typechecking abilities. To run typ ... 
- day31 粘包问题
			TCP粘包问题 cmd客户端代码 import socket import struct import socket import json c = socket.socket() c.connect ... 
- PHP 在 Mac 的安装之路
			半年前本以为有一些 Apache 和 PHP 的安装经验,今天在 Mac 上还是踩了很多坑. 坦诚地讲,这东西入门成本比 Node,Python 入门成本真的是大很多. Apache 的编译安装就是那 ... 
- artTemplate js模板引擎动态给html赋值
			html放到$("#area").append(html);之前,否则文档流获取不到#area <table width="90%" class=&quo ... 
- c#实现动态加载Dll(转)
			c#实现动态加载Dll 分类: .net2009-12-28 13:54 3652人阅读 评论(1) 收藏 举报 dllc#assemblynullexceptionclass 原理如下: 1.利用反 ... 
- avcodec_decode_video2少帧问题
			使用libav转码视频时发现一个问题:使用下面这段代码解码视频时,解码中会不时丢掉几帧. ){ ret = avcodec_decode_video2(video_dec_ctx, vframe, & ... 
