《同一个类中不同方法之间的调用相关问题(省略的类名或者this)》
//同一个类中不同方法之间的调用相关问题(省略的类名或者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)》的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- DHV 平常语言对话 一次聚会离场
一次聚会离场 一次聚会离场,如果顺路要计划好A女生 和B女生 或者C女闺密一起回去,然后再自己回去 如果别人说:好男人, 自己一定要谦虚说: 哪里,好男人一般都是备胎. 到家了要说: 不是说: 我:我 ...
- Unity 3D中的内存管理
本文欢迎转载,但烦请保留此行出处信息:http://www.onevcat.com/2012/11/memory-in-unity3d/ Unity3D在内存占用上一直被人诟病,特别是对于面向移动设备 ...
- linux笔记:linux常用命令-链接命令
文件处理命令:ln(创建链接文件) ln -s 源文件 链接文件 需要源文件已经建立,执行链接文件就是执行源文件. 软链接文件的特点: 1.类似于windows中快捷方式的作用: 2.它的文件类型是 ...
- Python 练习 12
#!/usr/bin/python # -*- coding: UTF-8 -*- year = int(raw_input('year:\n')) month = int(raw_input('mo ...
- 重启Apache报错apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName ... waiting的解决方法
启动apache提示 : apache2: Could not reliably determine the server's fully qualified domain name, using 1 ...
- Compound Interest Calculator1.0
Compound Interest Calculator1.0 客户说:帮我开发一个复利计算软件. 计算:本金为100万,利率或者投资回报率为3%,投资年限为30年,那么,30年后所获得的利息收入:按 ...
- 笔记8:winfrom连接数据库DBHelp
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...
- Simplify Path [LeetCode]
Given an absolute path for a file (Unix-style), simplify it. For example,path = "/home/", ...
- 生产订单修改删除组件BDC
可用函数修改:CO_XT_COMPONENT_CHANGE,一次一个 FORM prm_change_bom . DATA:gw_zstypf TYPE zstypf. DATA:lv_rspos T ...
- struts2视频学习笔记 13-14(自定义局部和全局类型转换器(转换Date格式))
课时13 自定义类型转换器 局部(对某个action类) package tutorial; import java.util.Date; public class HelloWorld { priv ...