【Java基础】几种简单的调用关系与方法
2014-10-30 17:23
309 查看
直接上代码吧。
对于上述代码第35行的详细解释:
类方法不能调用非类方法,所以直接调用E()是错误的。但可以通过对象来调用,所以要new出来一个对象来调用它(非静态方法)。
网上有一段这样的话,总结的挺好:
类是一个抽象的概念,对象是一个实体。静态方法只能在内存中分配一个空间,不管多少次引用都指向那个空间,即常驻内存,是类对象,不是单个实例。而非静态方法是随对象产生的,每生成一个对象就新生成一个非静态方法,而且分配不同的空间。所以非静态成员必须依赖于对象。 (2014.10.31修改添加)
本人小菜鸟一枚,以上为网上自学心得总结,如有错误敬请指出。新手童鞋多多交流,大神们多多指点。祝大家生活愉快。
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基础写的一个简单的小游戏,没有UI界面,只是涉及到类的封装,方法的调用,方便日后复习用
- 分析函数调用关系图(call graph)的几种方法
- 分析函数调用关系图(call graph)的几种方法
- DWR中调用Java对象的方法,不要使用简单数据类型
- java基础问题---java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用
- Java 调用底层接口的几种方法
- 分析函数调用关系图(call graph)的几种方法
- 分析函数调用关系图(call graph)的几种方法
- java 调用webservice的几种方法
- 老紫竹JAVA基础培训(2)熟悉方法的调用
- Android-NDK开发之基础--Android JNI实例代码(一)-- 在JNI中执行Java方法--C/C++调用Java
- 分析函数调用关系图(call graph)的几种方法
- 分析函数调用关系图(call graph)的几种方法
- 分析函数调用关系图(call graph)的几种方法
- 一个小java反射程序,简单的调用方法。
- 分析函数调用关系图(call graph)的几种方法
- 分析函数调用关系图(call graph)的几种方法
- 分析函数调用关系图(call graph)的几种方法
- 分析函数调用关系图(call graph)的几种方法
- Java应用程序本地编译为EXE的几种方法-Java基础-Java-编程开发