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开始)

  

最新文章

  1. c#编程基础之函数可变参数
  2. 带你玩转JavaWeb开发之五-如何完成响应式开发页面
  3. [MySQL] 高可用架构MMM简单介绍
  4. C# 如何在Excel 动态生成PivotTable
  5. java:读/写配置文件
  6. [unity3d程序] 颜色渐变效果
  7. /proc/sys/net/ipv4/
  8. wpa_cli调试工具的使用
  9. SharedPreference 的存取
  10. Activity的四种状态
  11. DevExpress.GridControl.gridView的一些注意
  12. CSS3阴影 box-shadow的使用和技巧总结[转]
  13. CSDN头版头条 《近匠》 Wijmo 5 CTO:从Web到移动,我的25年编程生涯
  14. 简单的.editconfig文件
  15. 【应知应会】15个常用的JavaScript字符串操作方法
  16. 微服务之服务中心—Eureka
  17. 学习笔记TF045:人工智能、深度学习、TensorFlow、比赛、公司
  18. 解决 IllegalArgumentException: Could not resolve placeholder in string value "${XXXXXX}"
  19. 模式识别之bpnn---神经网络训练
  20. nginx怎么与tomcat完美结合

热门文章

  1. Hadoop Reducer个数设置
  2. MinimumTours TopCoder - 7620
  3. 6.JBoss5.x6.x 反序列化漏洞(CVE-2017-12149)复现
  4. bootstrap常用部件下载
  5. 当有“Button1.Attributes.Add("onclick", "return confirm('你确定要保存修改吗?')");”时,验证控件失效的解决方法
  6. Cactus项目(又叫MVCAdmin),开源(2016-11-26更新)
  7. JavaScript中匿名函数循环传参数(不触发函数的执行)
  8. PostFX v2后期处理特效包:升级更惊艳的视觉效果
  9. 未能加载文件或程序集“Oracle.DataAccess, Version=4.112.2.0, Culture=neutral, PublicKeyTok”
  10. VBA学习笔记