一.this关键字 体现:当成员变量和函数的局部变量重名时,可以使用this关键字来区别:在构造函数中调用其它构造函数 原理:         代表的是当前对象.         this就是所在函数的所属对象的引用.         简单说,哪个对象调用了this关键字所在的函数,this就代表哪个对象. 1.区别局部变量和成员变量 内存图解: 说明: 程序执行到main函数时,main函数进入栈内存中的方法区,执行到Person p = new Person("旺财");时,在ma…
1.构造函数概念 特点: 函数名与类名相同 不用定义返回值类型 没有具体的返回值 作用:                给对象进行初始化 注意: 默认构造函数 多个构造函数是以重载出现的 一个类中如果没有定义过构造函数,那么该类中会有一个默认的空参数的构造函数 如果在类中定义了构造函数,那么类中的默认构造函数就没有了 构造函数在创建对象时调用 构造函数也有默认的return语句(省略不写) 函数执行到return语句后,栈中该函数的方法区就会出栈 如: class Person{ private…
Java学习笔记:语言基础 2014-1-31   最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习Android开发做些准备. Java和C++的语法有很多类似之处,学习中重点关注的是差异部分.   数据类型 Java支持的基本数据类型有: 1) 整数:byte/short/int/long 2) 浮点:float/double 3) 字符:char 4) 布尔:boolean   除此之外,通过类…
[学习笔记]1.Java语言是纯粹的面向对象语言,这体现在Java完全支持面向对象的三大基本特征:封装.继承.多态.抽象也是面向对象的重要组成部分,不过它不是面向对象的特征之一,因为所有的编程语言都需要抽象. 2.面向对象开发方法比较结构化开发方法的优势在于可以提供更好的可重用性.可扩展性.可维护性. 3.基于对象和面向对象的区别:基于对象也使用了对象,但是无法通过现有的对象作为模板来生成新的对象类型,继而产生新的对象,也就是说,基于对象没有继承的特点.而面向对象有继承,而多态则是建立在继承的基…
今天来学习Java的面向对象特性,由于与C#的面向对象类似,不需详细学习 一.Java继承 继承可以使用 extends 和 implements 这两个关键字来实现继承. extends:类的继承是单一继承,也就是说,一个子类只能拥有一个父类,所以 extends 只能继承一个类. public class Animal { private String name; private int id; public Animal(String myName, String myid) { //初始…
基础常识 软件:一系列按照特定顺序组织的计算机数据 和指令的集合 常见的软件: 系统软件:如:DOS,windows,Linux等 应用软件:如:扫雷,迅雷,QQ等 软件的出现实现了人与计算机之间的更好的交互 交互方式: 图形化界面:这种方式简单直观,使用者易于 接受,容易上手操作 命令行方式:需要有一个控制台,输入特定的 指令,让计算机完成一些操作.较为麻烦,需 要记录住一些命令 dos命令行常见的命令 dir: 列出当前目录下的文件以及文件夹 md: 创建目录 rd: 删除目录 cd: 进入…
java基础 一.java语言跨平台原理 1.什么是跨平台? 跨平台就是一个软件可以在不同的操作系统中运行,但是不需要对其修改.换句话说,java语言编写的软件在不做修改的情况下就能在不同的系统平台上运行 2.跨平台的原理 java程序依靠JVM运行,与操作系统无关,因此,我们只需在任意操作系统中安装一个JVM,由JVM来负责java程序的运行 3.跨平台图解 注意:Java语言是跨平台的,是因为Java应用程序需要Java虚拟机JVM负责运行. 而Java虚拟机JVM是不跨平台的,不同的操作系…
1 关于 (时间宝贵的小姐姐请跳过) 本教程是基于Java定时任务调度工具详解之Timer篇的学习笔记. 什么是定时任务调度 基于给定的时间点,给定的时间间隔或者给定的执行次数自动执行的任务. 在Java中的定时调度工具 Timer Quartz 两者主要区别 出身上,Timer是Java提供的原生Scheduler(任务调度)工具类,不需要导入其他jar包:而Quartz是OpenSymphony开源组织在任务调度领域的一个开源项目,完全基于Java实现. 功能上,如需要实现在某个具体时间执行…
Java 异常机制(也许是全网最独特视角) 一.Java中的"异常"指什么 什么是异常 一句话简单理解:异常是程序运行中的一些异常或者错误. (纯字面意思) Error类 和 Exception类 Java中"万物皆对象",异常也不例外, Java把异常当做对象来处理,并将异常分为两大类--Error(错误)和Exception(异常),它们都是Throwable类的子类. 这里看起来可能有点奇怪,什么叫"把异常分为错误和异常两类"??可以这样粗…
Java中有很多类是很常用的,此处列举System,Runtime,Date,Calendar,Math System System:类中的方法和属性都是静态的 字段摘要 static PrintStream err "标准"错误输出流 static InputStream in "标准"输入流 static PrintStream out "标准"输出流 获取系统属性信息:Properties getProperties(); import j…
1.面向对象概述 面向对象是java语言的核心.是对应于面向过程而言的. 面向过程:强调的是过程,即动作.在java中动作就是函数.C语言就是面向过程的. 如:把大象装进冰箱需要几步? 答:需要三步: 打开冰箱 把大象装进去 关上冰箱 我们把上面的问题,用面对对象的思想来考虑. 我们把冰箱作为一个对象,它具备打开,存储,关闭的功能.这个时候,我们就只需要冰箱这个对象就可以完成把大象装进冰箱中.即,冰箱打开,存储,冰箱关闭. 面向对象的特点: 面向对象是一种常见的思想,符合人们的思考习惯. 面向对…
static关键字用处 用于修饰成员变量和成员函数 被修饰后的成员具有以下特点: 随着类的加载而加载 优先于对象存在 被所有对象所共享 可以直接被类名调用 使用注意 静态方法只能访问静态成员:非静态方法也可以访问静态成员 静态方法中不可以写this,super关键字 主函数是静态的 实例变量(成员变量)和类变量(静态变量)的区别 生命周期不同 成员变量随着对象的创建而存在,随着对象的回收而释放: 静态变量随着类的加载而存在随着类的消失而消失 2.   调用方式不同 成员变量只能被对象调用    …
this关键字 this是当前对象的引用,是运行期间当前对象本身. 可以使用this明确的访问当前对象的属性或者方法,类似于“我” this()可以调用本类的其他构造器,可以使用构造器的重用简化代码的实现 this()必须写在构造器的第一行! 一.java调用方法参照两点: 1,方法签名(方法名+参数列表) 2,就近原则: 比如  f('a',5) ---->f(int ,int) f(double,int) 3,java参数的传递规则 基本类型:值传递 引用类型:地址传递 二.多态和重载 ja…
一.标识符 在程序中自定义的一些名称 由26个英文字母的大小写,数字,_$组成 定义合法标识符的规则: 不能以数字开头 不能使用关键字 java严格区分大小写 注意:在起名字时,为了提高阅读性,必须得起得有意义. 二.关键字 被赋予了特殊java含义的单词. 关键字全都是小写 三.注释 1.行注释:使用 // 来注释一行文字或代码. //这是行注释的内容 2.块注释: 块前使用 /* ,块后使用 */ 包裹住要注释的块内容 /* 这是块注释 这是块注释 */ 3.文档注释:文档前使用 /** ,…
Java语言的动态性之脚本语言支持API 随着Java平台的流行,很多的脚本语言(scripting language)都可以运行在Java虚拟机啊上,其中比较流行的有JavaScript.JRuby.Jython和Groovy等.相对Java语言来说,脚本语言由于其灵活性非常强,非常适合在某些情况下使用,比如描述应用中复杂多变的业务逻辑,并在应用运行过程中进行动态修改:为应用提供一种领域特定语言(Domainspecific Language,DSL),供没有技术背景的普通用户使用:作为应用中…
1.数组基础 1.什么是数组:           同一类型数据的集合,就是一个容器. 2.数组的好处:           可以自动为数组中的元素从零开始编号,方便操作这些数据. 3.格式:  (一旦创建,必须明确长度)          格式1:              元素类型   [ ]  数组名  =  new  元素类型  [元素个数即数组的长度]:              示例:int[] array = new int[5];          格式2:           …
1.内存的划分 1.寄存器 cpu处理 2.本地方法区 和所在系统相关 3.方法区 方法加载进内存,其实就是开辟了一块该方法的方法区 方法区中还可以有静态区,用于存放静态变量(类变量) 4.栈内存 5.堆内存 2.栈和堆 1.栈: 存储的都是局部变量.而且变量所属的作用域一旦结束,就释放该变量. 栈中的变量生命周期都很短,更新速度会很快. 局部代码块:限定局部变量的生命周期.局部代码块一旦执行结束,里面的变量就会被释放. 2.堆 存储的是数组和对象.凡是new建立的,都会存在堆里. 特点: 每一…
1.函数 1.什么是函数? 定义在类中的具有特定功能的一段独立小程序. 函数也叫做方法 2.函数的格式 修饰符   返回值类型    函数名(参数类型  形式参数1, 参数类型  形式参数2-) {           执行语句(函数体);           return 返回值;       } 返回值类型:函数运行完成后输出的数据类型. 参数类型:是形式参数的数据类型. 形式参数:是一个变量,用于储存调用函数时传递给函数的实际参数. 实际参数:传递给形参的实际数据. return:结束函数…
一.运算符 算数运算符 +,-,*,/,%,++,-- 1.+,-,*,/ 整数除以整数的结果为舍弃了小数部分的整数. 2.%:取余 %左右都为正数,左边小于右边结果为左边值,如,4%5=4 %左边大于或等于右边结果为左边除以右边的余数,如,5%5=0,7%2=1 面试题:100%3.0的结果为1.0 应该注意的是:当运算负数的取余运算时,结果的符号和被取余数一致. 如: System.out.println(-5%2); System.out.println(-5%-2); System.ou…
一.形參长度可变的方法 当传入被调用的函数參数数量不确定时,在方法最后一个形參的类型后加上三个点号(...),表明该形參能够接受多个參数值.多个參数值被当做数组传入,这些參数必须为指定的类型. package wbb.java.JavaObject; /** * Created with IntelliJ IDEA. * User: wbb * Date: 14-7-17 * Time: 下午4:26 * To change this template use File | Settings |…
1.转义字符 \t:制表符 \n:回车 \b:退格 \r:回车 \":双引号 \\:反斜线(常用于文件路径的书写中)   windows系统中回车符其实是由两个符号组成的,\r\n linux系统中回车符是\n 2.break&continue break(跳出)语句:应用范围是选择结构(switch语句)和循环结构 continue(继续)语句:应用于循环结构 注意: 这两个语句离开应用范围是没有意义的,编译会报错. 这两个语句单独存在下面都不可以有语句,因为执行不到.一般使用if判断…
2020-03-26    21:27:17 面向对象的编程语言都有一个类的概念,像Java.python等.类是对特定数据的特定操作的集合体.它包含两个范畴:数据和操作.C语言是没有类的概念的,但是可以用函数指针将struct模拟为一个包含数据和操作的“类”. 基本模式: 下面针对四个菜单设计: #define C_Class C_Class A { C_Class A *A_this; //this指针 void(*foo)(C_Class A *A_this); //行为:函数指针 int…
2020.9.1 学习来自 https://www.liaoxuefeng.com/wiki/1252599548343744/1255883729079552 一.变量和数据类型 基本数据类型 基本数据类型是CPU可以直接进行运算的类型.Java定义了以下几种基本数据类型: 整数类型:byte,short,int,long 浮点数类型:float,double 字符类型:char 布尔类型:boolean 浮点类型: float f1 = 3.14f; float f2 = 3.14e38f;…
一.java标识符,关键字,保留字 1.标识符 用来增强程序阅读性自定义的名字.类名,变量名,方法名等都可以被称为标识符 标识符的组成: 1.由数字(0-9),字母(a-z,A-Z),下划线(_),美元符号($)组成 2.不能以数字开头,不能使用关键字和保留字 3.严格区分大小写 2.关键字 关键字:被Java语言赋予了特定含义的一些字符!关键字中所有字母都为小写. 注:不用刻意去 关键字 描述 abstract 抽象方法,抽象类的修饰符 assert 断言条件是否满足 boolean 布尔数据…
Java Networking (Java 网络) 1. 网络通信协议 Network Communication Protocols Network Protocol is a set of rules that governs the communications between computers on a network, or rather, rules for sending blocks of data (each known as a Protocol Data Unit (PD…
Java开源语言 C语言闭源语言 IOS闭源系统  采用object-c语言开发 应用程序分类(从类型分类) C/S(Client Server):不联网的软件也属于C/S B/S(Browser Server):WebQQ.网站 Java体系结构: Javase: java应用程序开发的基础库: Javame:移动(微型)设备应用程序开发: Javaee:网站开发使用体系: 配置环境变量: 打开计算机属性-高级-环境变量-系统变量-path 添加jdk下的bin文件绝对路径,新建名为class…
多个double类型的数直接相加的时候,可能存在精度误差.( 由于计算机算法以及硬件环境决定只能识别 0 1.计算机默认的计算结果在都在一个指定精度范围之内,想往深的了解,可以学习数值分析等) 在金融方面是绝对不允许的,好在java开发者有这个先见之明. java.math.*里面提供了BigDecimal类(提供高精度计算的方法) 这个时候就要采用BigDecimal函数进行运算 第一步.建立String类型的数据 第二步.创建BigDecimal对象BigDecimal(Double.toS…
一个简单的Java应用程序 public class FirstSample { public static void main(String[] args) { System.out.println("Just don't use 'Hello, World!'"); } } 这个简单的Java应用程序,只发送一条消息到控制台窗口中,但所有的Java应用程序都具有这种结构.其中: 关键字public 称为访问修饰符,这些修饰符用于控制程序其他部分对这段代码的访问级别. 关键字clas…
一.基本数据类型 基本数据类型 数据类型 内存空间(8位等于1字节) 取值范围 备注 byte 8位 -128~127   short 16位 -32768~32767   int 32位 -2147483648~2147483647   long 64位 -9223372036854775808~9223372036854775807 赋值时若超出int范围,需要在数值后加L或l float 32位 1.4E-45~3.4E38 小数默认都为double型,加F或f double 64位 4.…
java基础很重要, 今天呆家看java视频,顺便总结前几周看的java书籍,做一下简单的总结:1:数组的声明,2:数组的赋值: 3:数组的方法: 声明一个数组主要有两种方式: //类型 []数组名字; //类型 数组名字[]; int []arr; int arr[]; 定义数组也有两种方式: //声明有4个内存空间的数组: ]; //声明一个数组长度为4,对应的内容分别问1,2,3,4; ,,,} java的数组声明在赋值的时候数组长度就固定了,你不能更改的, 这点需要注意; 还有一种是声明…