学习日记---java
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的更多相关文章
- android学习日记05--Activity间的跳转Intent实现
Activity间的跳转 Android中的Activity就是Android应用与用户的接口,所以了解Activity间的跳转还是必要的.在 Android 中,不同的 Activity 实例可能运 ...
- android学习日记03--常用控件checkbox/radiobutton
常用控件3.checkbox 复选框,确定是否勾选,点击一下勾选,点击第二下取消,当有一系列备选项时适合用checkbox控件,方便用户提交数据. 贴上例子Activity的java代码 packag ...
- android学习日记03--常用控件button/imagebutton
常用控件 控件是对数据和方法的封装.控件可以有自己的属性和方法.属性是控件数据的简单访问者.方法则是控件的一些简单而可见的功能.所有控件都是继承View类 介绍android原生提供几种常用的控件bu ...
- Zend Framework学习日记(1)--环境搭建篇(转)
Zend Framework学习日记(1)--环境搭建篇 (1)开发工具 Zend Framework框架:http://framework.zend.com/download/latest 包含2个 ...
- Hadoop-2.7.2集群的搭建——集群学习日记
前言 因为比赛的限制是使用Hadoop2.7.2,估在此文章下面的也是使用Hadoop2.7.2,具体下载地址为Hadoop2.7.2 开始的准备 目前在我的实验室上有三台Linux主机,因为需要参加 ...
- Linux学习日记-使用EF6 Code First(四)
一.在linux上使用EF 开发环境 VS2013+mono 3.10.0 +EF 6.1.0 先检测一下EF是不是6的 如果不是 请参阅 Linux学习日记-EF6的安装升级(三) 由于我的数据库 ...
- 这几天开始,先学习一些 java 基础吧,学的有点累
这几天开始,先学习一些 java 基础吧,学的有点累
- 【学习】JAVA的第一天(补)
补上1024第一天的JAVA学习,也刚好是程序员节.今天学习了JAVA的一些历史和基础环境的配置,以及HelloWorld入门程序. JAVA体系:JAVAME(一些简单的移动端开发).JAVAEE( ...
- 很值得学习的java 画图板源码
很值得学习的java 画图板源码下载地址:http://download.csdn.net/source/2371150 package minidrawpad; import java.awt.*; ...
随机推荐
- ubuntu利用包管理器安装Node.JS
步骤1:用curl获取源代码在我们用卷曲获取源代码之前,我们必须先升级操作系统,然后用卷发命令获取NodeSource添加到本地仓库. root@ubuntu-:~#apt-get update 安装 ...
- 12、IGV-Integrative Genomics Viewer
1.IGV的网址:http://software.broadinstitute.org/software/igv/(java环境) 常见的几种输入格式bam/sam(比对文件) TDF(bam的精简 ...
- 深入学习JavaScript: apply 方法 详解
我在一开始看到javascript的函数apply和call时,非常的模糊,看也看不懂,最近在网上看到一些文章对apply方法和call的一些示例,总算是看的有点眉目了,在这里我做如下笔记,希望和大家 ...
- 简单Hadoop集群环境搭建
最近大数据课程需要我们熟悉分布式环境,每组分配了四台服务器,正好熟悉一下hadoop相关的操作. 注:以下带有(master)字样为只需在master机器进行,(ALL)则表示需要在所有master和 ...
- 关于java中的编码问题
ok,今天搞了一天都在探索java字符的编码问题.十分头疼.最后终于得出几点: 1.网上有很多博客说判断一个String的编码的方法是通过如下代码;但其实这个代码完全是错的,用一种编码decode后, ...
- 关于.net Core项目发布在Linux上的填坑
本文主要记录.net Core项目发布在Linux服务器上面所遇到的问题,防止遗忘是 1.在发布文件中执行 dotnet xxxxxx.dll的时候提示如下错误: An assembly specif ...
- Redis数据类型,持久化,回收策略——(Redis缓存第一章)
缓存:第一种是内存缓存 比如Map(简单的数据结构),以及EH Cache(Java第三方库),第二种是缓存组件比如Memached,Redis:Redis(remote dictionary ser ...
- CentOS6.5安装MySQL5.7(也适合其他版本安装)
1.查看是否已经安装过mysql或其依赖,若已装过要先将其删除,否则第4步使用yum安装时会报错: 方法一:yum list installed | grep mysql 方法二:rpm -qa | ...
- Batch the files in the directory
#!/bin/bash #sourceFolder = /home/bigdatagfts/pl62716/refdata #targetFolder = /home/bigdatagfts/pl62 ...
- Subversion Server Edge用户权限设置简介
Subversion Server Edge用户权限可分为两种,一种为按用户权限,一种为按组权限设置 1.按用户设置权限 [codeLibrary:/] //对整个代码库 *=r //所有用户 ...