一、this关键字 this关键字只能用于方法体内,当创建一个对象时候,JVM就会为这个对象分配一个资深的指针,就是this。因此this只能在非静态方法中使用,静态方法和静态的代码块中绝对不能使用this,this只和特定的对象关联,不和类关联,同一个类的不同对象有不同的this。 举个栗子: 不 ...
分类:
编程语言 时间:
2017-10-10 22:27:44
阅读次数:
293
1.将一个类定义在另一个类里面,里面的那个类称为内部类,与属性、方法等一样视作外部类的成员。内部类提供了更好的封装,不允许同包中的其他类访问该内部类。 2.内部类作为外部类的成员,同样可以被4个访问限定符修饰。如果外部类需要访问非静态内部类的成员,必须创建非静态内部类对象来访问。 3. 内部类成员可 ...
分类:
其他好文 时间:
2017-10-09 20:53:23
阅读次数:
114
我们在编程中最常用的模式就是单例模式了,然而单例模式都用在什么场合?为什么不用静态方法而要用单例模式呢?要搞清这些问题,需要从静态方法和非静态方法的区别和联系说起。 一、静态方法常驻内存,非静态方法只有使用的时候才分配内存? 一般都认为是这样,并且怕静态方法占用过多内存而建议使用非静态方法,其实这个 ...
分类:
其他好文 时间:
2017-10-09 02:09:54
阅读次数:
136
C#的类中可以包含两种方法:静态方法和非静态方法。 使用了static 修饰符的方法为静态方法,反之荝是非静态方法。 静态方琺是①種 特殊的成園方琺,它不属纡类的某一个具体的实唎,而是属于类本裑。葰以对静态方法不需要首先创建一个类哋实例,而是采用类名.静态方法的格式 。 1.static方法是类中的 ...
分类:
其他好文 时间:
2017-10-02 23:46:39
阅读次数:
191
static 方法可以被main方法直接调用,而非static方法不可以。因为static方法是属于类的,是类方法。可以通过类名.方法名直接调用。而非static方法必须等对象被new出来以后才能使用,因而不能在main中直接调用。 public void 修饰是非静态方法,该类方法属于对象,在对象 ...
分类:
编程语言 时间:
2017-09-22 15:23:12
阅读次数:
189
一、static总结: 1.static定义:①static被称为静态,可以用来修饰类的属性或者方法。 ②如果类的某个属性,不管创建多少个对象,属性的存储空间只有唯一的一个,那么这个属性就应该用static修饰,被static修饰的属性被称为静态属性。 ③static属性可以使用对象调用,也可以直接 ...
分类:
其他好文 时间:
2017-09-15 10:12:15
阅读次数:
177
本周老师最先帮助我们解决了上周遗留下来的问题。题目如下:如果有以下程序代码:String[] strs={"Java","Java","Java","Java","Java"};请问产生了几个String实例?解析:产生了1个String实例。Java虚拟机为了提高效率并节约内存,对具有相同字符串序 ...
分类:
编程语言 时间:
2017-09-09 17:13:06
阅读次数:
229
参考来源 JVM 体系架构 堆/栈的内存分配 静态和非静态方法的内存分配 CMS 回收算法 应用场景 CMS 垃圾收集阶段划分(Collection Phases) CMS什么时候启动 CMS缺点 G1收集算法 G1的发展 分代垃圾回收瓶颈 G1使用场景 G1特点 G1堆内存的分配 G1的进程内存占 ...
分类:
Web程序 时间:
2017-09-09 12:01:58
阅读次数:
282
静态方法和非静态方法的区别: 1.静态方法不需要类实例化就可以调用,反之非静态方法需要实例化后才能调用; 2.静态方法只能访问静态成员和方法,非静态方法都可以访问; 3.静态方法不能标记为override,导致派生类不能重写,但是可以访问; 4.静态成员是在第一次使用时进行初始化。非静态的成员是在创 ...
首先贴出代码,如下: public class Test { public static void main(String[] args) { A a=new B(); a.a(); }} class A{ public A(){ System.out.println("I'am A"); } st ...
分类:
编程语言 时间:
2017-08-21 15:45:45
阅读次数:
174