对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:
}
}今天复习的大致思路
一。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:
}
}今天复习的大致思路
相关文章推荐
- 复习继承,抽象类,接口,想到哪写到哪
- C 和c++的一些杂想,想到哪儿写到哪儿
- 由静态导入想到的
- 【复习+知识补充】EL表达式:只能调用静态方法
- 基础知识漫谈(1): 想到哪儿写到哪儿
- Java复习-静态代码块
- 从O-R Mapping的设计模式想到的 数据库静态字段的设计猜想
- 一道jAvA静态的面试题想到的
- 想到哪儿写到哪儿
- [转]基础知识漫谈(1): 想到哪儿写到哪儿
- easyUi想到哪里就写到哪里
- 开发过程中的注意事项,想到哪写到哪
- 复习java基础------>java的静态绑定和动态绑
- 暑期个人赛--第七场--D(复习~!含静态邻接链表)
- 由一个问题想到的,测试的复习
- 想到哪写到哪百孔千疮漏洞百出MySQL MetaData Length实现
- Java静态初始化,实例初始化以及构造方法复习~
- 随笔, 就是随便下笔, 想到哪写到哪, 看不懂没关系, 不考试.
- Cocoa 静态显示一个对话框2 [帮大家复习一次]
- 想到哪里写到哪里