//同一个类中不同方法之间的调用相关问题(省略的类名或者this)
class A
{
public void B()
{
System.out.println("b方法运行");
}
public void C()
{
B();//下面引用《疯狂Java讲义》中的一段话。
/*
因为Java里的方法不能独立存在,它必须属于一个类或一个对象,
因此方法也不能直接像函数那样被独立执行,执行方法时必须使用
类或对象作为调用者,即所有的方法都必须使用“类.方法”或“对象.方法”
的形式来调用。这里可能产生一个问题:同一个类里不同方法之间相互调用
时,不就可以直接调用吗?这里需要指出的是:同一个类的一个方法调用另一个
方法时,如果被调用方法是普通方法,则默认使用this作为调用者;如果被调用
方法时静态方法,则默认使用类作为调用者。也就是说表面上看起来某些方法可以
被独立执行,但实际上还是使用this或类来作为调用者。 所以上面这一句 B(); 其实是省略了this的,完整的语句应该是this.B();
*/
System.out.println("c方法运行");
}
}
public class TestDiaoYong
{
public static void main(String[] args)
{
//创建A类的对象a.
A a = new A();
//调用C方法。
a.C();
}
} /*
class A
{
public static void B()
{
System.out.println("b方法运行");
}
public static void C()
{
B();
//下面引用《疯狂Java讲义》中的一段话。 因为Java里的方法不能独立存在,它必须属于一个类或一个对象,
因此方法也不能直接像函数那样被独立执行,执行方法时必须使用
类或对象作为调用者,即所有的方法都必须使用“类.方法”或“对象.方法”
的形式来调用。这里可能产生一个问题:同一个类里不同方法之间相互调用
时,不就可以直接调用吗?这里需要指出的是:同一个类的一个方法调用另一个
方法时,如果被调用方法是普通方法,则默认使用this作为调用者;如果被调用
方法时静态方法,则默认使用类作为调用者。也就是说表面上看起来某些方法可以
被独立执行,但实际上还是使用this或类来作为调用者。 所以上面这一句 B(); 其实是省略了类名A的,完整的语句应该是A.B();
}
}
public class TestDiaoYong
{
public static void main(String[] args)
{
//A a = new A();
//a.C();
//因为C方法是静态的,所以可以直接使用类名调用。
A.C();
}
}
*/

《同一个类中不同方法之间的调用相关问题(省略的类名或者this)》的更多相关文章

  1. 简单物联网:外网访问内网路由器下树莓派Flask服务器

    最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...

  2. 利用ssh反向代理以及autossh实现从外网连接内网服务器

    前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...

  3. 外网访问内网Docker容器

    外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...

  4. 外网访问内网SpringBoot

    外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...

  5. 外网访问内网Elasticsearch WEB

    外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...

  6. 怎样从外网访问内网Rails

    外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...

  7. 怎样从外网访问内网Memcached数据库

    外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...

  8. 怎样从外网访问内网CouchDB数据库

    外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...

  9. 怎样从外网访问内网DB2数据库

    外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...

  10. 怎样从外网访问内网OpenLDAP数据库

    外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...

随机推荐

  1. dede调用文章里的图片

    {dede:arclist row='6' orderby='pubdate' typeid='5' idlist='' channelid='1'} <li><a href='[f ...

  2. 使用react native for android生成app

    参考文章 http://reactnative.cn/docs/getting-started.html http://www.lcode.org/react-native/ https://gith ...

  3. AOP 之 6.1 AOP基础(拾陆)

    6.1.1  AOP是什么 考虑这样一个问题:需要对系统中的某些业务做日志记录,比如支付系统中的支付业务需要记录支付相关日志,对于支付系统可能相当复杂,比如可能有自己的支付系统,也可能引入第三方支付平 ...

  4. 资源 之 4.4 Resource通配符路径(拾贰)

    4.4.1  使用路径通配符加载Resource 前面介绍的资源路径都是非常简单的一个路径匹配一个资源,Spring还提供了一种更强大的Ant模式通配符匹配,从能一个路径匹配一批资源. Ant路径通配 ...

  5. java复用和传参

    java复用和传参的三种方法总结: (1) 直接在一个类中调用函数 : 1 package test1; 2 3 public class a 4 { 5 public static void get ...

  6. VBA中四种自动运行的宏以及模块的含义

    在Excel的“标准模块”中可以创建4种自动运行的宏,它们分别是Auto_Open(打开工作 簿时自动运行), Auto_Close, Auto_Activate,  Auto_Deactivate. ...

  7. 《构建之法》第8、9、10章读后感和Sprint总结

    <构建之法>第8.9.10章读后感  第八章重点讲了需求分析,在一个项目中,需求分析是最基础也是最重要的,只有充分了解了用户需求,我们才不会走弯路,才能做出正确的规划,保证项目的进行是按照 ...

  8. 在ubuntu(linux)下安装vim,以及vim的常用命令

    介绍vim: vim是一种编辑器,自我感觉这东西好用,就是现在有些不太习惯 如何安装: 如果是使用redhat ,系统自带着vi和vim 如果是使用ubuntu,建议使用apt-get命令, 可以尝试 ...

  9. cd命令进入D盘

    CD命令是更改目录命令如果要进入D盘 不用这个命令 直接输入 D: 回车 即可要是你非要使用CD命令那要加参数/DCD D:系统只是认为你想在系统中记忆一下D盘所以还是返回原先目录例:D盘下有一个目录 ...

  10. C#.web 打开PDF

    转自:http://blog.163.com/red_guitar@126/blog/static/11720612820112483221665/ string fileName = "2 ...