javase学习笔记
文章平均质量分 61
java基础学习,从零开始,循序渐进,日有所长。尽量涵盖java语言中的每一个小知识点,希望对零基础的初学者有所帮助。
fbl_csdn
有人说,每天学习某一方面知识两小时,两年后就是这个行业的专家。
展开
-
[javase学习笔记]-9.3 子父类中成员变量特征体现
这一节我们来说一说继承中子父类中的成员变量有什么特征。我们先看从一个例子说起:class Father//父类{ int age1 = 48;}class Son extends Father//子类{ int age2 = 22; public void printInfo() { System.out.println("父亲的年龄:"+age1+"\n儿子的年龄原创 2016-01-13 10:52:52 · 1198 阅读 · 0 评论 -
[javase学习笔记]-9.2 单继承与多重继承
这一节我们来看java中的单继承和多重继承。在java语言中,支持的是单继承,不直接支持多继承,但是对C++中的多继承进行了改良。那么什么是单继承和多继承呢?单继承:一个子类只能有一个直接父类。多继承:一个子类可以有多个直接父类。这个在java中是不允许的。为什么不允许呢?我们看一个例子:class A{ void method() { Sys原创 2016-01-12 12:03:35 · 907 阅读 · 0 评论 -
[javase学习笔记]-9.1 继承
这一节我们学习面向对象的第二个特征——继承。那么什么是继承呢?继承有作用是什么?我们先通过一个例子来说明:class Student//学生类{ String name;//姓名 int age;//年龄 void printInfo()//打印信息 { System.out.println("姓名:"+name+"\t年龄:"+age); } void原创 2016-01-11 15:26:04 · 878 阅读 · 2 评论 -
[javase学习笔记]-8.8 构造代码块
这一节我们再看一个特殊的代码块,那就是构造代码块。这里我们简单的通过例子来说明一下:class Person{ private String name; { System.out.println("Person类的第一个代码块被执行"); } Person() { System.out.println("无参数构造函数被执行"); this.name原创 2016-01-07 08:57:58 · 718 阅读 · 0 评论 -
[javase学习笔记]-8.7 静态代码块
这一节我们看一个比较特殊的概念,那就是静态代码块。前面我们也提到过代码块,就是一段独立的代码空间,那么什么是静态代码块呢?说白了,就是用static关键字修饰的代码块。我们来看一个例子:class StaticBlock{ static { System.out.println("静态代码块被执行"); } void myPrint() { System原创 2016-01-06 16:42:32 · 1034 阅读 · 0 评论 -
[javase学习笔记]-8.6 静态的内存加载
之前几节我们一直在说static关键字所修饰的静态,那么在程序运行时,内存中static是如何体现的呢?这一节我们就来看一看。我们还是先看一个例子,希望我们通过对这个例子的分析让我们初学者们对static所修饰的静态在内存中的具体体现有一个深刻的理解。class Person{ String name;//姓名,这是一个成员变量 int age; static Stri原创 2016-01-06 08:40:12 · 1157 阅读 · 2 评论 -
[javase学习笔记]-8.5 static关键字的使用场景
这一节我们来看一下在我们开发的过程中,在什么时候我们要用到static关键字进行静态修饰。我们这里所说的静态,无非就是两种,一种是静态变量,一种是静态函数,我们分这两种情况进行说明static关键字的使用场合。一、静态变量我们在7.8节中对static关键字特点和7.9节中成员变量与静态变量区别进行学习的时候就已经很明确的指出了静态变量是共享数据,而对象中封装的特有数据原创 2016-01-05 11:27:24 · 1799 阅读 · 0 评论 -
[javase学习笔记]-8.4 main函数的解析与细节
上一节我们说了静态使用细节时提到了main函数是静态的,其实,对于我们初学者,真是对main函数是什么样认识还很模糊,那么这一节我们就解析一下main函数.main函数的固定格式:public static void main(String[] args)java语言中主函数有两个特殊之处:1.格式是固定的.2.被jvm所识别和调用.那么它们第一个单词都有什原创 2015-12-31 08:11:46 · 708 阅读 · 0 评论 -
[javase学习笔记]-8.3 static关键字使用的注意细节
这一节我们看静态在使用过程中应注意的几个细节。上一节我们在学习成员变量与静态变量的区别时,对于两种变量的调用方式不同时出现了“无法从静态上下文中访问非静态变量”的错误,这个问题我们在以后会经常遇到。那么这是什么问题呢?我们从例子说起,我们把上一节中的Person类中方法printInfo进行静态修饰:class Person{ String name;//姓名,这是一个成员原创 2015-12-30 08:26:48 · 1091 阅读 · 0 评论 -
[javase学习笔记]-8.2 成员变量与静态变量的区别
这一节我们看一看成员变量与静态变量的区别所在。什么是静态变量呢?我们上节用static关键字时就提到了静态变量。也就是说用static关键字修饰的变量就是静态变量。我们在6.4节学习了成员变量与局部变量的区别,这一节我们重点看看成员变量与静态变量之间的区别。我们看代码:class Person{ String name;//姓名,这是一个成员变量 static S原创 2015-12-29 08:52:57 · 1418 阅读 · 2 评论 -
[javase学习笔记]-8.1 static关键字之特点
这一节我们来学习java语言中一个新的关键字就是static关键字。当然对于每一个关键字,我们都要明确的是它有什么作用,怎么用。我们先来看一个例子:class Person{ String name;//姓名 String country = "中国";//国籍 public void printInfo() { System.out.println(name+原创 2015-12-28 16:07:34 · 1216 阅读 · 1 评论 -
[javase学习笔记]-7.7 this关键字的细节与应用
这一节我们接着上一节来继续学习this关键字.我们之前在7.5节中的构造函数应注意的细节中提到过一个细节就是构造函数可以调用一般函数,但一般函数不能直接调用构造函数.但是我们没有深究构造函数能不能调用构造函数,那么现在我们就来看一看这个问题.那么构造函数与构造函数之间是怎么访问呢?为了掌握这个问题,我们必须要明确一个概念,那就是在一个类中的成员如果要被执行,就必须由对象调用.而每个对象原创 2015-12-27 09:04:57 · 1297 阅读 · 0 评论 -
[javase学习笔记]-7.6 this关键字的原理
这一节我们来讲一个关键字,就是this关键字。我们还是通过例子来看吧:class Person{ private String name; private int age; Person(String n,int a) { name = n; age = a; } public void speak() { System.out.println(name+"原创 2015-12-26 10:10:11 · 991 阅读 · 0 评论 -
[javase学习笔记]-7.5 构造函数需要注意的几个细节
这一节我们简单的说几个在使用构造函数时需要注意的细节。通过我们前几节的学习,我们对构造函数有了一个比较清楚的认识,当我们在创建对象时,我们会调用构造函数。那么我们在定义和调用构造函数时,需要注意哪些细节呢?第一个需要注意的细节:构造函数与set方法看两个函数代码:[java] view plaincopy原创 2015-12-25 09:38:46 · 990 阅读 · 4 评论 -
[javase学习笔记]-7.4 构造函数的内存加载
这一节我们来说说构造函数在内存中是如何被加载的。我们之前说过,构造函数只有创建对象时才会被调用并且只调用一次。那么在创建对象的过程中内存中的变化是什么样的呢?我们接着上一节的Person类,我们分析class Person{ private String name; private int age; Person()//构造函数,分别为成员变量name和age赋固定的原创 2015-12-24 15:07:51 · 1259 阅读 · 0 评论 -
[javase学习笔记]-7.3 构造函数的重载
这一节我们来学习一下构造函数的重载。说到重载,我们在函数那一章已经学习过了,为了更好的理解构造函数的重载,我们先要弄明白一个问题:那就是什么时候定义构造函数呢?在描述事物时,该事物已存在就具备一些内容,这些内容都定义在构造函数中。我们来看例子:class Person{ private String name; private int age; Person()原创 2015-12-23 11:16:55 · 982 阅读 · 2 评论 -
[javase学习笔记]-7.2 构造函数与一般函数的区别
这一节我们简单学习一下构造函数与一般函数之间的区别所在。那么它们有什么区别呢,结合上一节,我们可以总结出以下两点区别:第一个区别:构造函数:对象创建时,就会调用与之对应的构造函数,对对象进行初始化。一般函数:对象创建后,需要函数功能时,才调用函数。这也就是说创建对象时,构造函数一定被调用,而一般函数不一定被调用。第二个区别:构造函数:对象创建时,会调用且只调用一次。原创 2015-12-23 07:05:20 · 1093 阅读 · 1 评论 -
[javase学习笔记]-7.1 构造函数概述与默认构造函数
这一节我们来学习一个特殊的函数,那就是构造函数。那么什么是构造函数呢?既然是函数,那它应该是被定义在类中,同时有函数名,要明确函数返回的结果和参数类型。我们这里先看一下构造函数的特点:1.函数名与类名相同;2.不用定义返回值类型3.没有具体的返回值。从这些特点来说,这确实是一个很特殊的函数哦。我们来看一个定义构造函数的例子:class Person原创 2015-12-22 11:52:11 · 1230 阅读 · 0 评论 -
[javase学习笔记]-6.7 封装
这一节我们学习面向对象中的第一个特性,封装(encapsulation)封装:是指隐藏对象的发生和实现细节,仅对外提供公共访问方式.那么什么是隐藏对象的实现细节?我们来举例学习.比如我们来定义一个人的类,简单点说,人的属性有年龄,行为有说话.我们看下面的代码:class Person//定义一个人的类{ int age; void speak() { Sys原创 2015-12-20 23:10:17 · 967 阅读 · 0 评论 -
[javase学习笔记]-6.6 基本数据类型参数与引用数据类型参数的传递过程
这一节基本数据类型参数和引用数据类型参数的传递过程。数据类型参数和引用参数我们在前面章节中都已涉及到了,那么我们来看看下面的两段代码://基本数据类型参数传递class Demo{ public static void main(String[] args) { int x = 3; change(x);//调用方法 System.out.println("x原创 2015-12-20 10:35:01 · 1167 阅读 · 0 评论 -
[javase学习笔记]-6.5 类类型参数与匿名对象
这一节我们来说说类类型参数和匿名对象.我们继续用之前的小汽车类吧class Car{ int num;//这是轮胎数属性 String color;//这是颜色属性 String brand;//这是品牌性 void start()//启动行为 { System.out.println("小汽车已启动"); } void run()//这就是运行行为 { Sy原创 2015-12-19 11:48:49 · 1070 阅读 · 0 评论 -
[javase学习笔记]-6.4 成员变量与局部变量
前面我们学习了类的定义,我们不难理解,定义类其实就是在定义类中的成员.成员包括成员变量和成员函数.说到成员变量,我们很自然会想到前面提到过的局部变量,那么它们之间有什么区别呢?首先我们定义一个People类:class People//定义一个People类{ String name;//姓名属性 int age;//年龄属性 char sex; void run()//原创 2015-12-18 22:48:11 · 1077 阅读 · 0 评论 -
[javase学习笔记]-6.3 对象的内存体现
这一节我们来简单的看一看对象在内存中是什么样子呢,如何体现。我们以上一节的测试代码为例。我们在函数的内存分配分析过,当该代码运行时,首先会加载主函数在栈内存中为main函数分配一个空间;然后运行函数中的第一行语句,Car myCar = new Car();然后把局部变量myCar加载到栈内存,然后通过new在堆内存中分配空间,然后把这个地址赋给变量myCar;我们看一看是不是原创 2015-12-17 21:14:01 · 898 阅读 · 0 评论 -
[javase学习笔记]-6.2 类与对象的关系
这一节我们来看一下类与对象之间的关系。我们学习java语言,目的就是用java语言对现实生活中的事物进行描述。那么我们怎样来描述呢,这就引出了类,我们在实际实现时,是通过类的形式来体现的。那么对于现实生活中的事物如何描述呢?我们在现实生活中对于事物描述通常只关注两个方面,一个是属性,另一个就是行为。那么很自然,计算机的描述就产生出具体的对象。比如我们要描述一个小汽车,那原创 2015-12-16 22:21:02 · 795 阅读 · 0 评论 -
[javase学习笔记]-6.1 面向对象的概述
从这一节开始我们学习java的核心知识,那就是思想,也就是我们所学习的java语言的核心思想:面向对象。在早期,编程思想主要是面向过程的,比如说C语言。那么面向对象有什么特点呢?我们先来看一个例子,由例子我们慢慢引申出面向对象。这个例子就是“把大象装进冰箱里”。对于面向过程思想的做法应该有以下三步:1.打开冰箱。2.装入大象。3.关闭冰箱。我们可以看出,面向过程思想原创 2015-12-16 22:05:00 · 603 阅读 · 0 评论 -
[javase学习笔记]-5.6 二维数组
前面我们学习的数组基本是基于一维数组来操作的,这一切我们就简单的看一下二维数组。二维数组,我们通俗点可以说成是数组中的数组,就是说我们可以把一个二维数组理解为一个元素为一维数组的一维数组。二维数组的定义格式以下两种格式:格式一:int[][] arr = new int[3][2];//定义了一个名为arr的二维数组,该二维数组中有3个一维数组,每一个一维数组中有2个元素原创 2015-12-15 16:58:28 · 637 阅读 · 0 评论 -
[javase学习笔记]-5.3 数组操作中常见问题
这节我们看一下在数组操作中经常出现的两个小现象.我们直接看一段代码吧class ArrayDemo2 //数组-常见的问题{ public static void main(String[] args) { int[] arr =new int[3]; //System.out.println(arr[3]);//编译的时候不报错(ArrayIndexOutOfBounds原创 2015-12-13 22:42:44 · 558 阅读 · 0 评论 -
[javase学习笔记]-5.2 数组的内存分配及特点
这一节我们学习数组在内存中的分配和特点.我们之前说过我们java程序运行,都必须在内存中创建空间.我们都知道,任何一款软件运行,都要在内存中开辟空间.那么我们就来看看内存的划分,可以划分为以下五种:1.寄存器2.本地方法区//我们暂时设计不到,以后有机会了我们学习,主要运行的时本地系统平台中的内容3.方法区4.栈内存5.堆内存我们在这里主要学习一下栈原创 2015-12-13 22:15:02 · 544 阅读 · 0 评论 -
[javase学习笔记]-5.1 数组的定义
这一节我们开始学习数组,首先来看看数组是怎么被定义的.说到数组,我们首先要知道什么是数组?来看下数组的概念,视频中毕老师给出这样的概念:数组是同一种类型数据的集合.也就是说数组就是一个容器,它的好处是可以自动的为数组中的每个元素从0开始编号,方便对这些元素的操作.定义数组的格式有以下两种不同的形式:格式1:元素类型[] 数组名 = new 元素类型[元素类型或数组长度]; e原创 2015-12-13 22:00:12 · 518 阅读 · 0 评论 -
[javase学习笔记]-4.2 定义函数的两个明确
这一节我们学习在实际开发中如何定义一个函数,也就是如何定义一个功能.要定义一个功能,就要用两个明确来完成:明确一:这个功能的结果是什么;明确二:这个功能实现过程中是否需要未知内容参与运算.我们直接看下面代码:class FunctionDemo2 //两个明确{ public static void main(String[] args) { int num = 6原创 2015-12-13 11:12:09 · 756 阅读 · 0 评论 -
[javase学习笔记]-4.1 函数的定义
这一节我们学习java语言中的函数概念和定义格式.简单的说,函数也就是方法.那么什么是函数呢?函数就是定义在类中的具有特定功能的一段独立小程序.我们可以看到,这里面比较需要注意的词语,一个就是具有特定功能,另一个就是独立.我们知道了函数的概念,那么在java中怎么定义呢?我们先看一个简单方法的例子. //普通方法,有返回值,返回两上整数的和 public static i原创 2015-12-13 10:28:37 · 387 阅读 · 0 评论 -
[javase学习笔记]-3.6 break语句与continue语句
这一节我们学习两个比较特殊的语句,那就是break语句与continue语句直接看例子吧class BreakContinueDemo { public static void main(String[] args) { /* break:跳出. break作用的范围:要么是switch语句或者是循环语句. 记住:当break语句单独存在时,下面不要定义其他语句,因原创 2015-12-12 22:32:06 · 631 阅读 · 0 评论 -
[javase学习笔记]-3.5 for循环的嵌套
这节我们来看一下for循环的嵌套.先直接看一个例子class ForForDemo { public static void main(String[] args) { /* 大圈套小圈思想 */ for(int x=0;x<2;x++) { for(int y=0;y<3;y++) { System.out.println("x="原创 2015-12-12 22:00:22 · 624 阅读 · 0 评论 -
[javase学习笔记]-3.4 for语句
这一节我们学习for语句的用法的执行过程.我们先看for语句的格式: for(初始化表达式;循环条件表达式;循环后的操作表达式) { 执行语句;(循环体) }再来说一下for循环语句的执行过程运行顺序:初始化表达式只读一次,判断循环条件为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复整个过程,直到条件不满足为止我们来看一个f原创 2015-12-12 21:11:01 · 353 阅读 · 0 评论 -
[javase学习笔记]-3.3 while和do-while语句
这一节我们看一看循环语句中的while和do-while语句.while语句的格式如下while(条件表达式){ 执行语句;}我们来说一说while语句的执行过程:先判断条件表达式的结果,如果为true,则执行循环体中的执行语句,然后重复判断和执行,直到条件表达式结果为false时结束.我们看一个while语句的例子class WhileTest { public sta原创 2015-12-12 20:43:46 · 510 阅读 · 0 评论 -
[javase学习笔记]-3.2 switch语句
这节我们看一下判断结构中的switch语句,也就是选择语句.switch语句的格式如下: switch(表达式)//这里的表达式只直持byte short int char这四种类型 { case 取值1: 执行语句; break; case 取值2: 执行语句; break; ...... default: 执行语句;原创 2015-12-12 19:48:55 · 529 阅读 · 0 评论 -
[javase学习笔记]-3.1 if语句
这一节我学习java语言中的流程控制语句之中的判断语句.首先我们看看if语句的不同格式看下面的代码class IfDemo{ public static void main(String[] args) { //判断语句 /************************************** if语句的第一种格式: if(条件表达式) {原创 2015-12-12 17:08:13 · 450 阅读 · 0 评论 -
[javase学习笔记]-2.8 运算符
这一节我们来学习java语言中的运算符。Java语言支持如下运算符:算术运算符:+,-,*,/,%,++,--关系运算符:>,=,逻辑运算符:!,&,|,^,&&,||位运算符:&,|,^,~,>>,>>赋值运算符:=扩展赋值运算符:+=,-=,*=,/=字符串连接运算符:+我们直接看例子吧:先看一下算术运算符。class Operate原创 2015-12-11 17:53:47 · 512 阅读 · 0 评论 -
[javase学习笔记]-2.6 变量和数据类型(1)
这节我们来看一下java中的变量,变量的概念:内存中的一个存储区域;该区域有自己的名称(变量名)和类型(数据类型);该区域的数据可以在同一类型范围内不断变化通俗点,我们可以说变量就如同数学中的未知数。为什么要定义变量:用来不断存放同一类型的常量,并可以重复使用使用变量注意:1.变量的作用范围(一对{}之间有效)2.初始化值定义变量的格式:原创 2015-12-10 17:52:08 · 533 阅读 · 0 评论 -
[javase学习笔记]-2.4 常量
这一节学习java语言中常量。常量表示不能改变的数值.java中常量的分类:1.整数常量:所有整数2.小数常量:所有小数3.布尔(boolean)型常量,较为特有,只有两个数值.true&false4.字符常量:将一个数字字母或者符号用单引号('')标识.5.字符串常量:将一个或多个字符用双引号("")标识.6.null常量:只有一个数值就是null.原创 2015-12-09 17:16:02 · 516 阅读 · 0 评论