直接上代码吧。

 class lesson4AB
//同一个类下的public修饰的方法A,B可以相互调用
{
public void A()
{
B();//等价于this.B();
}
public void B()
{
A();//等价于this.A();
}
}
class lesson4C
//存在于不同类里的public修饰的方法C调用B
{
public void C()
{
lesson4AB lAB=new lesson4AB();
lAB.B();
//上下两种方法是等价的,都可以调用
new lesson4AB().B();
}
}
class lesson4DE
//同一个类中的static方法与非静态方法相互调用。
{
public static void D()//用static修饰,属于类成员
{
//E();//错误: 无法从静态上下文中引用非静态 方法 E()
//【通俗说是静态不引用非静态】 //this.E();//错误: 无法从静态上下文中引用非静态 变量 this
//【通俗说就是static和this不能共存】 new lesson4DE().E();//通过
//public void E()没用static修饰,属于对象,只能用对象来调用
}
public void E()//没用static修饰,属于对象
{
D();//等价于this.D();
//对象可以调用类成员
}
}
class lesson4
{
public static void main(String[] args)
{
System.out.println("May you happy!");
}
}

对于上述代码第35行的详细解释:

类方法不能调用非类方法,所以直接调用E()是错误的。但可以通过对象来调用,所以要new出来一个对象来调用它(非静态方法)。

网上有一段这样的话,总结的挺好:

类是一个抽象的概念,对象是一个实体。静态方法只能在内存中分配一个空间,不管多少次引用都指向那个空间,即常驻内存,是类对象,不是单个实例。而非静态方法是随对象产生的,每生成一个对象就新生成一个非静态方法,而且分配不同的空间。所以非静态成员必须依赖于对象。   (2014.10.31修改添加)


本人小菜鸟一枚,以上为网上自学心得总结,如有错误敬请指出。新手童鞋多多交流,大神们多多指点。祝大家生活愉快。

【Java基础】几种简单的调用关系与方法的更多相关文章

  1. java基础解析系列(十一)---equals、==和hashcode方法

    java基础解析系列(十一)---equals.==和hashcode方法 目录 java基础解析系列(一)---String.StringBuffer.StringBuilder java基础解析系 ...

  2. 一种简单快速的模板解析方法,活用with javascript版

    //一种简单快速的模板解析方法,活用with var parseTpl = function( str, data ) { var tmpl = 'var __p=[];' + 'with(obj|| ...

  3. CSS里总算是有了一种简单的垂直居中布局的方法了

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  4. JAVA基础(二)—— 常用的类与方法

    JAVA基础(二)-- 常用的类与方法 1 Math类 abs ceil floor 绝对值 大于等于该浮点数的最小整数 小于等于该浮点数的最大整数 max min round 两参数中较大的 两参数 ...

  5. java基础(1-50)-------->超级简单,不信你不会!!!

    1:java中的保留字:const&goto; 2:&和&&都可以做逻辑运算符,即运算符两边的表达式都为true,结果才为true,一方为false,则结果为false ...

  6. java基础-四种方法引用

    实例 直接三角形,通过两边算第三边,目的是为了如何使用这几种方法引用.代码中多有些不合适,尽情原谅. 静态方法引用 接口的参数列表与类中的具体实现方法的参数列表一样,返回值一致. 调用 //静态引用 ...

  7. java基础:父类与子类之间变量和方法的调用

    1)父类构造函数 java中当调用某个类的构造方法的时候,系统总会调用父类的非静态初始化块进行初始化,这个调用是隐式的,而且父类的静态初始化代码 块总是会被执行,接着调用父类的一个或者多个构造器执行初 ...

  8. java 基础 四种权限修饰符

    /** * Java有四种权限修饰符: * public > protected > (default) > private * 同一个类 YES YES YES YES * 同一个 ...

  9. Java中几种常用数据类型之间转换的方法

    Java中几种常用的数据类型之间转换方法: 1. short-->int 转换 exp: short shortvar=0; int intvar=0; shortvar= (short) in ...

随机推荐

  1. asp.net UpdatePanel 不能局部刷新问题汇总

    1.web.config 配置问题.   关于web.config的配置方面网上有很多资料参考,按照其方法做即可实现. 2.网站 Framework 版本变化造成不能局部刷新问题    版本更新时,会 ...

  2. FileBeat

    FileBeat使用说明 FileBeat是一个日志收集器,基于Logstash-Forwarder的源代码.FileBeat一般以代理的身份运行在客户端服务器中,并监视用户指定的目录.文件,同时把日 ...

  3. 整理SQL

    由4张简单的不能再简单的表,演变出50道SQL 表结构: 表Student (S#,Sname,Sage,Ssex) 学生表 S#  student_no Sage  student_age   Ss ...

  4. [Zookeeper研究]一 Zookeeper技术简介

    最近的项目中使用到了Zookeeper.Kafka以及Storm.仔细研究了一下,觉得这几个开源项目对于搞分布式的人来说是非常有用的,所以想把自己的一点心得体会总结一下,希望能对大家有所帮助. 首先从 ...

  5. TRIGGERS_监测系统_多表视图触发器—向原始数据报表中插入数据

    Create Or Replace Trigger trg_view_report  Instead Of Insert or update or delete on view_for_report  ...

  6. css制作简单下拉菜单

    要点:定位,隐藏,显示. (一)先建一个两次列表 <ul id="ul1"> <li>首页</li> <li>第二页 <ul& ...

  7. 典型的DIV CSS三行二列居中高度自适应布局

    如何使整个页面内容居中,如何使高度适应内容自动伸缩.这是学习CSS布局最常见的问题.下面就给出一个实际的例子,并详细解释.(本文的经验和是蓝色理想论坛xpoint.guoshuang共同讨论得出的.) ...

  8. 英文Ubuntu下Emacs 使用 ibus 五笔

    Ubuntu 12.04 Precise 英文版本 1. 安装ibus/安装ibus-table-wubi http://wiki.ubuntu.org.cn/IBus 其中im-switch命令要在 ...

  9. Eclipse中设置条件断点

    1.在要添加断点的变量那一行前双击,添加断点: 2.在该断点处点击鼠标右键,在弹出的选项卡中选择“断点属性”Breakpoint Properties; 3.在断点属性选项卡中勾选Enabled复选框 ...

  10. SWFUpload批量上传插件

    SWFUpload是一个批量上传插件,在HTML4.1里面,估计也只有Flash+javascript配合才能够做到了.先复制个重要的网址,这个应该是官方的文档了,相当齐全. http://leeon ...