《同一个类中不同方法之间的调用相关问题(省略的类名或者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 安装并启动 ...
随机推荐
- OpenCV3编程入门笔记(6)自我验证各函数程序代码
// asw.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <opencv2/opencv.hpp> usi ...
- AndroidManifest.xml清单文件要点
AndroidManifest.xml AndroidManifest.xml清单文件通常包括如下内容: 应用程序的包名,该包名作为该应用的唯一标识. 应用包含的组件,如Activity,Servic ...
- php 变量原理
1.php作为一种弱类型语言,不需要显式的指明变量的类型,但是php变量也是有类型的,php变量包含以下8种变量(三大类) a.标量类型:boolean,integer,float(double),s ...
- [Java] Java中List 去掉重复的值,并保持原先List顺序
private List<YourBean> removeDuplicate(List<YourBean> list) { Set<YourBean> set = ...
- nginx服务器在IE下载时,apk,ipa文件变成zip的解决方法
前端时间公司官方换了服务器,由Apache换成了Nginx.大概看了下,程序运行,文件下载都没问题,过了!正常上线,OK! But,今天突然发现,在IE浏览器下下载APK和IPA的文件是会被自动识别为 ...
- IO流--字节流
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream; import ...
- override和overload的区别
override(重写,覆盖) 1.方法名.参数.返回值相同. 2.子类方法不能缩小父类方法的访问权限. 3.子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常). 4.存在于父类和子类之 ...
- .NET GC机制学习笔记
学习笔记内容来自网络资料摘录http://www.cnblogs.com/springyangwc/archive/2011/06/13/2080149.html 1.GC介绍 Garbage Col ...
- tab切换-自动、点击、内容变换
<div class="tab"> <ul class="pics"> ...
- uva 242
242 - Stamps and Envelope Size Time limit: 3.000 seconds Stamps and Envelope Size Philatelists hav ...