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的更多相关文章

  1. year:2017 month:7 day:19

    2017-07-19 JavaScript 一:javascirpt的对象 1:数组对象 声明方式:(1)var arr=new Array(): (2)var arr=new Array(12): ...

  2. year:2017 month:08 day:03

    2017-08-03 JAVAse 继承 继承:通过extends关键字可实现类与类之间的继承 父类:基类/超类 子类:派生类 1.继承的特点:单继承[一个类只能有一个父类]多层次[父类还可有父类] ...

  3. year:2017 month:08 day:04

    2017-08-04 JAVAse 1.final修饰符 final可以修饰类,成员方法,成员变量(static 修饰符不可以修饰类) final的初始化在对象被实例化前即可final 修饰的方法不可 ...

  4. year:2017 month:8 day:1+

    2017-08-01 JAVAse 方法的重载:在同一个类中存在一个以上的同名方法,只要他们的参数数量,参数类型,参数顺序(两个相同类型的参数是不行的)这样就构成了方法的重载. 有返回值的方法有三种调 ...

  5. year:2017 month:07 day:31

    2017-07-31 JAVA se 1:基础 控制语句:continue语句:退出本次循环 break语句:退出当前循环 循环语句:for(初始化:条件表达式:循环体){循环语句} 先初始化,再执行 ...

  6. year:2017 month:7 day:27

    2017-07-27 JAVA 1:java分为三类:javase(桌面开发应用) javaee(企业级开发应用) javame(手机嵌入式开发应用) 2:jdk(java开发工具包),jre(jav ...

  7. year:2017 month:7 day:20

    2017-07-20 JavaScript(Dom) 1:获取节点对象 document.getElementById("html元素的id") document.getEleme ...

  8. year:2017 month:7 day:18

    2017-07-18 JavaScript 1javascript的控制语句 (1) if语句 (2)if(){}else 语句 (3) if(){} else if(){ }语句 (4)switch ...

  9. year:2017 month:7 day:17

    2017-07-17 JavaScript 1.javascript 中的运算符 (1)算数运算符:+ ,- ,* ,/ ,% (2)位运算符:& ,| ,~  ,^ ,<< (左 ...

随机推荐

  1. 深入理解 JavaScript 事件循环(一)— event loop

    引言 相信所有学过 JavaScript 都知道它是一门单线程的语言,这也就意味着 JS 无法进行多线程编程,但是 JS 当中却有着无处不在的异步概念 .在初期许多人会把异步理解成类似多线程的编程模式 ...

  2. git常用命令,助你快速入门

    git是程序员中最常用的版本控制工具,学会git的基本使用是十分重要,特别是在公司里面的协同开发,废话不多说,下面贴出常用的命令. 1.基本配置 # 既然git是多人协同的工具,别人要看到你提交代码的 ...

  3. java web数据库(SQL 2008+IDEA 14)环境配置

    废话少说,在之前已经配置过IDEA+Tomcat的环境之后,现在需要进行数据库配置: 1.首先,SQL SERVER2008数据库的安装 (1)将下载的sqlserver 2008数据库进行解压,点击 ...

  4. [leetcode-611-Valid Triangle Number]

    Given an array consists of non-negative integers, your task is to count the number of triplets chose ...

  5. 【Android Developers Training】 81. 解析XML数据

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  6. 1.如何使用vbs打开网页并且登陆

    例如自动打开繁星的网页并且登录 Private Sub CommandButton1_Click() Dim ie As Object Set ie = CreateObject("Inte ...

  7. c#重起 普通路由器

    using DotNet.Utilities;using System;using System.Collections.Generic;using System.Linq;using System. ...

  8. Python查看MQ队列深度

    分享一段代码,很简单但是也很实用. #!/usr/bin/python #-*- coding:gb18030 -*- ''' Usage: mq.py [Qmgr] *get the queues' ...

  9. Docker镜像构建的两种方式

    关于Docker里面的几个主要概念 这里用个不太恰当的比方来说明. 大家肯定安装过ghost系统,镜像就像是ghost文件,容器就像是ghost系统.你可以拿别人的ghost文件安装系统(使用镜像运行 ...

  10. windows平台python 2.7环境编译安装zbar

    最近一个项目需要识别二维码,找来找去找到了zbar和zxing,中间越过无数坑,总算基本上弄明白,分享出来给大家. 一.zbar官方介绍 ZBar 是款桌面电脑用条形码/二维码扫描工具,支持摄像头及图 ...