year:2017 month:8 day:3
2017-08-03
JAVAse
1:静态变量和成员变量的区别:
所属不同:静态变量属于类,所以也称为类变量
成员变量属于对象,也称为实例变量
内存中位置不同:静态变量存储余方法区的静态区
成员变量存储于堆内存
内存出现时间不同:静态变量随着累的加载而加载,随着累的消失而消失
成员变量随着对象的创建而存在,随着对象的消失而消失
调用不同:静态变量可以通过类名调用,也可以通过对象调用
成员变量只能通过对象名调用
2.成员变量和局部变量的区别:
在类中位置不同:成员变量:类中方法外
局部变量:方法内或方法声明上
在内存中的位置不同:成员变量:堆内存
局部变量:栈内存
生命周期不同:成员变量:随着对象的创建而存在,随着对象的消失而消失
局部变量:随着方法调用存在,随着方法结束消失
初始化值不同:成员变量:有初始默认值
局部变量:没有初始默认值
3.类的初始化过程:Student student = new Student ();
加载Studnet.class文件进内存
在栈内存为student开辟内存
对学生对象的成员变量进行默认初始化
对学生对象的成员变量进行显示初始化
通过构造方法对学生对象的成员变量赋值
学生对象初始化完毕,把对象地址赋值给s变量
4.代码块:
局部代码块:在方法中出现,限定变量声明周期,及早释放,提高内存利用率
静态代码块:在类中方法外出现,并加上static修饰符,用于给类进行初始化,在加载类的时候就调用,并且执行一次
构造代码块:在类中方法外出现,多个构造方法中相同的相同的代码存放在一起,每次调用构造方法时执行一次,并在构造方法前执行
5.匿名对象:没有名字的对象
作用:对象调用方法 ,仅仅一次的时候;作为实际参数传递
6.面向对象基于面向过程:
面向对象的思想:作为一个指挥者,把过程根据不同的功能进行封装,需要用时进行调用,避免重复,容易修改
面向过程的思想:作为一个参与者,参与每一个过程和步奏并完成它
面向对象的特征:封装;继承;多态
7.static:
随着类的加载而加载
优先于对象存在
被类的所有对象共用(可跨类)
可通过类名调用
year:2017 month:8 day:3的更多相关文章
- year:2017 month:7 day:19
2017-07-19 JavaScript 一:javascirpt的对象 1:数组对象 声明方式:(1)var arr=new Array(): (2)var arr=new Array(12): ...
- year:2017 month:08 day:03
2017-08-03 JAVAse 继承 继承:通过extends关键字可实现类与类之间的继承 父类:基类/超类 子类:派生类 1.继承的特点:单继承[一个类只能有一个父类]多层次[父类还可有父类] ...
- year:2017 month:08 day:04
2017-08-04 JAVAse 1.final修饰符 final可以修饰类,成员方法,成员变量(static 修饰符不可以修饰类) final的初始化在对象被实例化前即可final 修饰的方法不可 ...
- year:2017 month:8 day:1+
2017-08-01 JAVAse 方法的重载:在同一个类中存在一个以上的同名方法,只要他们的参数数量,参数类型,参数顺序(两个相同类型的参数是不行的)这样就构成了方法的重载. 有返回值的方法有三种调 ...
- year:2017 month:07 day:31
2017-07-31 JAVA se 1:基础 控制语句:continue语句:退出本次循环 break语句:退出当前循环 循环语句:for(初始化:条件表达式:循环体){循环语句} 先初始化,再执行 ...
- year:2017 month:7 day:27
2017-07-27 JAVA 1:java分为三类:javase(桌面开发应用) javaee(企业级开发应用) javame(手机嵌入式开发应用) 2:jdk(java开发工具包),jre(jav ...
- year:2017 month:7 day:20
2017-07-20 JavaScript(Dom) 1:获取节点对象 document.getElementById("html元素的id") document.getEleme ...
- year:2017 month:7 day:18
2017-07-18 JavaScript 1javascript的控制语句 (1) if语句 (2)if(){}else 语句 (3) if(){} else if(){ }语句 (4)switch ...
- year:2017 month:7 day:17
2017-07-17 JavaScript 1.javascript 中的运算符 (1)算数运算符:+ ,- ,* ,/ ,% (2)位运算符:& ,| ,~ ,^ ,<< (左 ...
随机推荐
- Disruptor——一种可替代有界队列完成并发线程间数据交换的高性能解决方案
本文翻译自LMAX关于Disruptor的论文,同时加上一些自己的理解和标注.Disruptor是一个高效的线程间交换数据的基础组件,它使用栅栏(barrier)+序号(Sequencing)机制协调 ...
- EF架构~Migration数据迁移的执行顺序
回到目录 对于单个分支项目来说,只要你生成一个migration的版本,就会有一个时间戳文件的对应,而在update-database时,会从最小的时间开始,一直执行到当前版本的migration,而 ...
- CSS 中的内联元素、块级元素、display的各个属性的特点
CSS的内联元素和块级元素 块级元素<h1>-<h6>.p.dt是不可以内联块级元素的 1.block和inline这两个概念是简略的说法,完整确切的说应该是 block-le ...
- phpcms和php格式化时间戳
用PHPCMS V9 建站时,经常会用到时间标签,它是通用标签调用-日期时间格式化,适用全站. 一.日期时间格式化显示: a\标准型:{date('Y-m-d H:i:s', $rs['inputti ...
- sql求和isnull注意事项
如果不用isnull函数判断则计算出来如果有一列是null 则相加就是null,如 两列:1 null 1+null = nullselect sum(ISNULL(jinE,0)+ISNULL(qi ...
- laravel blade模板介绍
第一步:首先写好模板 在sites下新建立一个app.blade.php文件 写入模板如: <!DOCTYPT html><html><head> <titl ...
- JS实现全选、不选、反选
思路:1.获取元素.2.用for循环历遍数组,把checkbox的checked设置为true即实现全选,把checkbox的checked设置为false即实现不选.3.通过if判断,如果check ...
- Struts2拦截器记录系统操作日志
前言 最近开发了一个项目,由于项目在整个开发过程中处于赶时间状态(每个项目都差不多如此)所以项目在收尾阶段发现缺少记录系统日志功能,以前系统都是直接写在每个模块的代码中,然后存入表单,在页面可以查看部 ...
- python简单实现websocket
协议选择的是新的Hybi-10,参考文章如下: http://www.cnblogs.com/zhuweisky/p/3930780.html http://blog.mycolorway.com/2 ...
- JAXP Dom 案例 对xml文件进行增加 查找 删除
利用 JAXP 对 XML文件 的处理,把xml当做一个数据库来对待