一.static关键字的用途 在《Java编程思想》P86页有这样一段话: “static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。这实际上正是static方法的主要用途。” ...
分类:
编程语言 时间:
2015-04-01 12:43:24
阅读次数:
192
#局部变量的实现 > [git@osc地址][1] 在字节码层面,每一个方法都有一个局部变量数组,用来存储当前方法的参数,在方法内声明的变量,如果是非静态方法还要存储当前方法实例的引用this。在我们平时使用java的时候...
分类:
其他好文 时间:
2015-03-30 21:19:02
阅读次数:
199
Java关键字this只能用于方法方法体内。当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是 this。因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this,这在“Java关键字static、final 使用总结”...
分类:
编程语言 时间:
2015-03-20 12:53:11
阅读次数:
159
synchronized关键字是java并发编程中为了解决线程对共享资源的竞争造成错误,而提供的解决方案。synchronized关键字有两种用法,一种是只用于方法的定义中,另外一种是synchronized块,我们不仅可以使用synchronized来同步一个对象变量,你也可以通synchronized来同步类中的静态方法和非静态方法。那么问题来了,同步静态方法与动态方法有什么区别呢?看完下面这...
分类:
编程语言 时间:
2015-03-12 09:53:28
阅读次数:
3994
我们在编程中最常用的模式就是单例模式了,然而单例模式都用在什么场合?为什么不用静态方法而要用单例模式呢?要搞清这些问题,需要从静态方法和非静态方法的区别和联系说起。一、静态方法常驻内存,非静态方法只有使用的时候才分配内存?一般都认为是这样,并且怕静态方法占用过多内存而建议使用非静态方法,其实这个理解...
分类:
其他好文 时间:
2015-03-11 01:53:52
阅读次数:
151
方法:1. 基本的main方法:public static void main(String[] args)2.静态方法内部调用非静态方法:重新声明一个类,通过这个类来调用非静态方法 1 public class MAINMETHOD { 2 public static void main(...
分类:
其他好文 时间:
2015-03-06 22:09:29
阅读次数:
208
在C#里面对于委托的如何加载非静态方法一直都很疑惑,自己对于非静态方法的认识来看,如果要安全的实现非静态方法必须引用实例里面的字段,经过查阅资料,知道委托类里面有一个_target字段如果是委托的是静态方法值为零,如果委托是非静态为会自动寻找方法的实例,说的很模糊,这个_target字段应该是一个o...
分类:
其他好文 时间:
2015-02-27 16:35:43
阅读次数:
159
C#的类中可以包含两种方法:静态方法和非静态方法。 使用了static 修饰符的方法为静态方法,反之则是非静态方法。 静态方法是一种 特殊的成员方法,它不属于类的某一个具体的实例,而是属于类本身。 所以对静态方法不需要 首先创建一个类的实例,而是采用类名.静态方法的格式 。1.static方法是类中...
非静态方法(不带static)可以访问静态方法(带static),但是反过来就不行,为什么呢?
public class test{
public void static main(String args[]){
method(); //会出错,提示你讲method方法改成静态的
method2(); //调用方法正确
new Test2().method(); //正确
}
...
分类:
编程语言 时间:
2015-02-05 15:02:50
阅读次数:
136
java不充许多继承是,为了避免“致命方块”的出现例如 B继承A,C继承A。 C和C里面都有play()方法 。现在D继承了B,C 想想D.play()调用 的是哪个play()呢,这就是问题所在。所以java提供了接口来解决此问题。问:接口并不是真正的多重继承,因为你无法在它里面实现程序代码,不是...
分类:
其他好文 时间:
2015-01-31 01:38:15
阅读次数:
109