1.构造函数

  构造函数:首字母大写;对象创建时,就会调用与之对应的构造函数,对对象进行初始化。 只调用一次。

  一般函数:对象创建后,需要函数功能时才调用。可以多次调用。首字母小写。

  构造函数--重载:方法名相同,参数不同。

  *构造函数可以直接调用一般函数,一般函数不能调用构造函数,因为构造函数是用来初始化对象的。

2.this关键字

  当成员变量和局部变量重名,用this区分。

  this代表当前对象;所在函数所属对象的引用。

  构造函数中调用构造函数:

    Person(String name){

      this.name = name;

    }

    Person(String name,int age){

      this(name);

      this.age = age;

    }

    *this用于在构造函数中调用其他构造函数,只能定义在构造函数的第一行,因为初始化动作要先执行。

3.static关键字修饰符

  static特点:

    1.static用于修饰成员(变量,函数)

    2.static修饰的成员被所有的对象共享。

    3.static优先于对象存在,因为static的成员随着类的加载就已经存在了。

    4.static修饰的成员,可以直接被类名调用(格式:类名。静态成员)

    5.static修饰的数据是共享数据,对象中存在的是特有数据。

  成员变量和静态变量(static修饰的变量)的区别:

    1. 生命周期不同

      成员变量随着对象的创建而存在,随着对象的回收被释放。

      静态变量随着类的加载而存在, 随着类的消失而消失。

    2.调用方式不同

      成员变量只能被对象调用。

      静态变量可以被对象调用,还可以被类名调用。

    3.别名不同

      成员变量也称为实例变量。

      静态变量称为类变量。

     4.数据存储位置不同。

      成员变量数据存储在堆内存的对象中,所以也叫对象的特有数据。

      静态变量数据存储在方法区(共享数据区)的静态区中,所以也叫对象的共享数据。

  static使用注意事项:

    1.静态方法只能访问静态成员(变量,函数)。

    2.静态方法中不可以使用this或者super关键字。

    3.主函数是静态的。

  static静态代码块

    随着类的加载而执行,而且只执行一次。

    作用:用于给类进行初始化。

    static{

      system.out.pringln("static--------执行!");

    }

4.构造代码块

  可以给所有对象进行初始化。

  {

    system.out.println("----------------执行!");

  }

 执行顺序: 静态代码块先执行,有对象, 构造代码块执行, 最后构造函数执行。

5.多线程

  好处:解决了大部分应用同时运行的问题。

  弊端:线程多, 效率低。

  jvm启动时, 就启动了多个线程。

  1.执行main函数的线程

  2.负责垃圾回收的线程

   创建线程:一:继承Thread
        1. 继承Thread类
        2. 覆盖Run方法。
        3. 直接厂家Thread的子类对象创建线程
        4. 调用start方法开启线程并调用线程的run方法执行
        可以通过Thread的getName()获取线程的名称  Thread-编号(从0开始)

  

学习日记---java的更多相关文章

  1. android学习日记05--Activity间的跳转Intent实现

    Activity间的跳转 Android中的Activity就是Android应用与用户的接口,所以了解Activity间的跳转还是必要的.在 Android 中,不同的 Activity 实例可能运 ...

  2. android学习日记03--常用控件checkbox/radiobutton

    常用控件3.checkbox 复选框,确定是否勾选,点击一下勾选,点击第二下取消,当有一系列备选项时适合用checkbox控件,方便用户提交数据. 贴上例子Activity的java代码 packag ...

  3. android学习日记03--常用控件button/imagebutton

    常用控件 控件是对数据和方法的封装.控件可以有自己的属性和方法.属性是控件数据的简单访问者.方法则是控件的一些简单而可见的功能.所有控件都是继承View类 介绍android原生提供几种常用的控件bu ...

  4. Zend Framework学习日记(1)--环境搭建篇(转)

    Zend Framework学习日记(1)--环境搭建篇 (1)开发工具 Zend Framework框架:http://framework.zend.com/download/latest 包含2个 ...

  5. Hadoop-2.7.2集群的搭建——集群学习日记

    前言 因为比赛的限制是使用Hadoop2.7.2,估在此文章下面的也是使用Hadoop2.7.2,具体下载地址为Hadoop2.7.2 开始的准备 目前在我的实验室上有三台Linux主机,因为需要参加 ...

  6. Linux学习日记-使用EF6 Code First(四)

    一.在linux上使用EF 开发环境 VS2013+mono 3.10.0 +EF 6.1.0 先检测一下EF是不是6的 如果不是  请参阅 Linux学习日记-EF6的安装升级(三) 由于我的数据库 ...

  7. 这几天开始,先学习一些 java 基础吧,学的有点累

    这几天开始,先学习一些 java 基础吧,学的有点累

  8. 【学习】JAVA的第一天(补)

    补上1024第一天的JAVA学习,也刚好是程序员节.今天学习了JAVA的一些历史和基础环境的配置,以及HelloWorld入门程序. JAVA体系:JAVAME(一些简单的移动端开发).JAVAEE( ...

  9. 很值得学习的java 画图板源码

    很值得学习的java 画图板源码下载地址:http://download.csdn.net/source/2371150 package minidrawpad; import java.awt.*; ...

随机推荐

  1. [原创]SQL 表值函数:获取从今天计算起往前自定义天数

    PS:此博文是利用Windows Live Writer 2012编写,格式效果可能不太好. 在我开发过程中,遇到一个统计需求,结果是要求返回从当天起往回推算出自定义输入的天数 为此我写了一个表值函数 ...

  2. PCLVisualizer可视化类(2)

    博客转载自:http://www.pclcn.org/study/shownews.php?lang=cn&id=163 可视化点云颜色特征 所示,点赋予不同的颜色表征其对应的z轴值不同.PC ...

  3. 20169201 2016-2017-2 实验二《Java面向对象程序设计》

    实验一:程序设计中临时变量的使用 代码托管 1.删除数组中的元素5 for(int i = 4; i < arr.length - 1; i ++){ arr[i] = arr[i + 1]; ...

  4. Vue.js 源码实现

    目录 Vue.js 代码实现 1. 步骤一 2. 步骤二 3.步骤三 Vue.js 工作机制 初始化 编译 响应式 虚拟dom 更新视图 编译 Vue.js 代码实现 检验学习效果的最好方法就是自己造 ...

  5. win10外接显示器时有些应用和里面的字体显示比较模糊

    打开系统设置 - 选择显示 - 选中外接的显示器 - 点击 "高级缩放设置" 进去后将 "允许 Windows  尝试修改应用,使其不模糊"打开,然后关闭应用再 ...

  6. 为什么Python如此慢

    Python当前人气暴涨.它在DevOps,数据科学,Web开发和安全领域均有使用. 但是在速度方面没有赢得美誉. 这里有关于Python比较其他语言如,Java, C#, Go, JavaScrip ...

  7. 洛谷P2911 [USACO08OCT]牛骨头Bovine Bones【水题】

    题目大意:输入S1,S2,S3,随机生成三个数x,y,z,求x+y+z出现次数最多的数(如果有多个答案输出最小的),其中1<=x<=S1,1<=y<=S2,1<=z< ...

  8. JVM系列文章汇总

    JVM中运行时数据区中的堆.栈.方法区等区域的特性介绍 Java中class文件的组成结构 JVM的类加载生命周期介绍 Java堆.新生代老年代的特点.堆中的内存分配策略 JVM垃圾收集算法详解 JV ...

  9. [HNOI2011]数学作业 矩阵快速幂 BZOJ 2326

    题目描述 小 C 数学成绩优异,于是老师给小 C 留了一道非常难的数学作业题: 给定正整数 NNN 和 MMM ,要求计算Concatenate(1..N) Concatenate (1 .. N) ...

  10. STP-18-Port-Channl上的负载均衡

    Ether Channel通过在多条链路上传输多个数据帧,增加了可用带宽.一个以太网帧总是通过一个Ether Channel中的一条链路传输.针对数据帧地址字段执行散列计算能够产生一个编号,标识这个数 ...