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. CSS定位机制总结

    1,CSS 有三种基本的定位机制:普通流.浮动和绝对定位.除非专门指定,否则所有框都在普通流中定位.2,普通流定位:块级框从上到下一个接一个地排列,框之间的垂直距离是由框的垂直外边距计算出来.行内框在 ...

  2. cc和gcc

    cc就是一个链接文件连接到gcc中.只不过cc是unix中常用的编辑工具,而在linux中用的gcc.有一些在unix中写好的程序要放在linux中,所以要指定命令cc为gcc,其实一样.用where ...

  3. CodeForces 279C Ladder (RMQ + dp)

    题意:给定一个序列,每次一个询问,问某个区间是不是先增再降的. 析:首先先取处理以 i 个数向左能延伸到哪个数,向右能到哪个数,然后每次用RQM来查找最大值,分别向两边延伸,是否是覆盖区间. 代码如下 ...

  4. Ubuntu12.04 上使用perl snmpwalk问题

    今天在Ubuntu12.04上使用perl来获取snmp数据,运行时出现下列问题.解决方法安装一下libnet-snmp-perl即可.命令行运行:sudo apt-get install libne ...

  5. file控件选择图片,img即可显示(无需上传)

    代码如下: <script> $(function() { $("#Book_Fiel").change(function() { var $file = $(this ...

  6. 2017-10-4 清北刷题冲刺班p.m

    P102zhx a [问题描述]你是能看到第一题的 friends 呢.——hja两种操作:1.加入一个数.2.询问有多少个数是?的倍数.[输入格式]第一行一个整数?,代表操作数量.接下来?行,每行两 ...

  7. CSS布局那点事儿

    布局 最开始老的一代网站开发,布局都是通过表格实现的. 这样可以形成规整的网格布局,但是也会带来一定的复杂性.比如想要新增某个页面元素,就有可能要改动整个表格,添加很多无用的行或者列. 后来,衍生出不 ...

  8. IDEA开发Spark的漫漫摸索(二)

    1 新建Maven项目 特别提醒,Maven项目中有GropId和ArtifactId.GroupId是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构.一般Gru ...

  9. 批处理打开和关闭oracle11g 服务

    也许我们经常会有这样一些困惑,如果让oracle随开机启动,我们得电脑内存会被占用殆尽,运行速度会变的异常慢,但是,手动一个一个去启动和关闭,又会非常麻烦.为了解决这个问题,我们有一个办法,那就是写两 ...

  10. C. Increasing by Modulo

    给定n个模m的数字 可以选择k个数字进行操作,操作时对该数字进行+1模m 求解最少多少次操作可以使得该数列变成单调不下降序列 实际上就是二分操作数目,其中操作数目肯定不会超过m 然后我们将左右边界变成 ...