您的位置:首页 > 其它

对6静态的复习,想到那写到哪

2011-10-06 01:56 141 查看
(愁死,刚写了一遍,没保存上,)今天看了一个交通的项目,觉得自己因为学的太快,一天里接触的新知识太多,不能很好的消化,决定每天至少复习一节以前学过的知识,复习完之后,写篇回忆博客,有些地方我知道了就不会全写出来,稍微提一点就好,收获(今天通过复习找到了两个不明白的地方,一会先百度,再上论坛看看)
一。static静态关键字啊,我想到那说道那,可能没什么逻辑可言,一看到静态关键字static首先要想到他的几个特点,主要是修饰成员,包裹成员变量和成员函数,被他修饰的成员随着类的加载而加载,优先于对象的存在,而且被他修饰的都是共享数据,放在共享区域内,这里要想到内存的几片区域。被他修饰的成员还可以直接被类调用比如 Student.run();

二。类成员和实例成员的区别呢,类成员随着类的加载而加载,声明周期比较长,实例成员用完之后就被内存释放了。

三,使用静态要注意些什么呢,第一,静态方法只能访问静态成员,这也是我疑惑的地方,一会弄明白他,在静态成员方法中不能出现this或者super,这也是为什么呢,其实跟上一个问题是一个

四,用静态有什么好处呢,因为被他修饰的成员都是共享成员,这样的话就会节省内存,弊端呢有两个,第一,静态只能修饰静态,局限性啊,声明周期太长,占用内存,不能释放

五,什么时候用static修饰呢当程序中有共享的数据时,这时候可以,但是一定要分清楚什么事共享数据,还有就是静态函数,在功能内部没有访问到静态函数的时候,可以用,区分开什么事功能内部啊

六,注释一共有三种,前两种不说了,第三种文档注释,文档注释只能注释被public和protect修饰符修饰的成员七,静态代码块他的作用是给类初始化用的因为是随着类加载而加载,所以优先于主函数呢,很犀利啊格式static{语句:}有什么特点呢,刚才都说了,随着类加载而加载,只执行一次,优先于主函数

八,在new了一个对象的时候,一共都做了什么事呢(默写)

1,因为要用到类,所以先吧类加载进来

2,先是静态代码块,他优先于主函数

3再者,在内存中开辟空间,分配地址

4默认初始化

5,显示初始化

6构造代码块初始化

7构造函数初始化

8,吧地址赋值给变量名。哦了

九,单例设计模式,(23)所谓单例设计模式,就是一个类只有一个对象,

步骤有三,第一禁止别人来访问对象,第二,自己创建一个那就,第三,要提供一个public访问方式的方法来提供别人访问

写个例子(饿寒食)

class Student

{

private student(){}

private static Student s= new Student()

public static Student getStudent(){return s:}

}

懒汉式,延迟加载,一般都用饿寒食,因为简单,懒汉式有弊端

class Student

{

private student(){}

private static Student s = null:

public static Student getStudent ()

{

if(s==null)

{synchronized(Student.class)//这里加了一个同步,这个单词真难写,愁

{

if(s==null)s=new Student();}

}

return s:

}

}今天复习的大致思路
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: