摘要: 一、主函数(main)1,主函数是一个特殊的函数,作为程序入口,可以被JVM调用。2,定义: a)public:代表着该函数访问权限是最大的。 b)static:代表着主函数随着类的加载就已经存在了。 c)void:主函数没有具体的返回值。 d)main:不是关键字,但是是一个特殊的单词,可以被JVM识别。 e)parameter:函数的参数,参数类型是一个字符串数组(String[] args)。3,主函数是固定格式的:JVM识别。4,JVM在调用主函数时,传入的是new String[0];5,给主函数传参的格式: a)java ClassName 参数1 参数2 参数3 ... b)/* 阅读全文
posted @ 2013-01-05 14:56 陈晓明 阅读(268) 评论(0) 推荐(0) 编辑
摘要: Java语言基础组成 -------------------------------------- 关键字 标识符 注释 常量和变量 运算符 语句 函数 数组 -------------------------------------- 标识符-------------------------------------- 在程序中自定义的一些名称由26个英文字母大小写,数字:0-9,符号:_$组成 定义合法标识符规则:1.数字不可以开头。 2.不可以使用关键字。Java中严格区别大小写。 注意:在起名字的时候,为了提高阅读性,要尽量有意义----------------------------- 阅读全文
posted @ 2013-01-05 14:54 陈晓明 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 面向对象:1,特征: a)封装 b)继承 c)多态2,类和对象的关系 现实生活中的对象:张三,李四。 想要描述:提取对象中共性内容,对具体的抽象。 描述时:这些对象的共性有:姓名,年龄,性别,学习Java功能。3,映射到Java中,描述就是class定的类。 具体对象就是对应Java在堆内存中用new建立起来的实体。4,类就是:对现实生活中事物的描述。 对象:就是这类事物,实实在在存在的个体。5,属性对应类中的变量,行为对应类中的方法(函数)。6,其实定义类,就是描述事物,就是在定义属性和行业,属性和行业共同成为类中的成员(成员变量和成员方法)。 阅读全文
posted @ 2013-01-05 14:53 陈晓明 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 1,什么是private修饰符? private是权限修饰符,用于修饰类中的成员(成员变量,成员函数)。 private修饰后的成员只在本类中有效。 /* 例:* 将age私有化以后,类以外即使建立了对象也不能直接访问。 * 但是人应用有年龄,就需要在Person类中提供对应访问age的方式。 * * class Person * { * private int age; * * public void setAge(int age) * { * if(age>0 && age<120) * this.age = age; * else //年龄数据有误,禁止赋值. 阅读全文
posted @ 2013-01-05 14:51 陈晓明 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 1,封装,是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。2,好外: a)将变化隔离。 b)便于使用。 c)提高重用性。 d)提高安全性。3,封闭原则: a)将不需要对外提供的内容都隐藏起来。 b)把属性都隐藏,提供公共方法对其访问。 阅读全文
posted @ 2013-01-05 14:47 陈晓明 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 静态代码块:格式:static{ //静态代码块中的执行语句。}特点:随着类的加载而执行,只执行一次,并优先于主函数(main)和构造代码块。class StaticCode{ static { System.out.println("a"); }} 阅读全文
posted @ 2013-01-05 14:43 陈晓明 阅读(155) 评论(0) 推荐(0) 编辑
摘要: Person p = new Person("zhangsan",28);该句话都做了什么事情?1,因为new用到了Person.class,所以会先找到Person.class文件并加载到内存中。 2,执行该类中的static代码块,如果有的话,给Person.class类进行初始化。 3,在堆内存中开辟空间,分配内存地址。 4,在堆内存中的建立对象的特有属性,并进行默认初始化。 5,对属性进行显示初始化。 6,对对象进行构造代码块初始化。 7,对对象进行对应的构造函数初始化。 8,将内存地址赋值给栈内存中的变量。 阅读全文
posted @ 2013-01-05 14:42 陈晓明 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 将编译后的.class文件发送给其他人,其他人通过命令(set classpath=.;c:\[.class文件存放的路径])就可以使用该类。 但是他不知道该类中有什么方法,多少个方法等信息,此时需要生成java文档一个类中默认会有一个空参数的构造函数,这个默认的构造函数的权限和所属类一致。 如果类被public修饰,那么默认的构造函数也带public修饰符。 如果类没有被public修饰,那么默认的构造函数也没有被public修饰。默认构造函数的权限是随着类的变化而变化的。命令:javadoc -d 存储路径 -author -version 路径 阅读全文
posted @ 2013-01-05 14:41 陈晓明 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 一、构造函数对象一建立就会调用与之对应的构造函数。1,构造函数的作用: 可以用于给对象进行初始化。 /* 细节: 当一个类中没有定义构造函数时,那么系统会默认结该类加一个空参数的构造函数。 当类中定义了构造函数时,那么系统默认的构造函数就不存在了。 */ 2,构造函数与一般函数的区别: a)写法不同。 b)运行不同。 构造函数是在对象一建立就立即运行,给对象初始化。 而一般方法是对象调用才执行,是给对象添加对象具备的功能。 c)一个对象建立,构造函数只运行一次。 d)一般方法可以被该对象调用多次。3,什么时候定义构造函数? 在分析事物时,如果该事物存在具备一些特性或者... 阅读全文
posted @ 2013-01-05 14:38 陈晓明 阅读(413) 评论(0) 推荐(0) 编辑
摘要: 介绍: 在定义功能时,功能的一部分是确定的,但是有一部分是不确定的,而确定的部分在使用不确定的部分,那么这时就将不确定的部分暴露出去。由该类的子类去完成。需求:获取一段程序运行的时间。 原理:获取程序开始和结束的时间并相减即可。获取时间:System.currentTimeMillis();abstract class Runtime{ public final void getTime() { long s = System.currentTimeMillis(); RunMethod(); long e = System.current... 阅读全文
posted @ 2013-01-05 14:34 陈晓明 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 一、继承缺点: 打破了封装性,此时为了保证封装性使用 final关键字禁止从此类继承。1,提高了代码的复用性。 2,让类与类之间产生了关系,有了这个关系,才有了多态的特性。注意:千万不要为了获取其他类的功能,简化代码而继承。 必须是类与类之间有所属关系才可以继承,所属系 is a.class Person{ String name; int age;}class Student extends Person{ void Speak() { System.out.println("学生-->姓名:"+name+",年龄:"+age); }}clas. 阅读全文
posted @ 2013-01-05 14:32 陈晓明 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 修饰符:final(最终)关键字:1,可以修饰类,函数,变量。 2,被final修饰的类不可以被继承, 为了避免被继承,被子类复写功能。 3,被final修饰的方法不可以被重写(覆盖)。 4,被final修饰的变量是一个常量,只能赋值一次,既可以修饰成员变量,也可以修饰局部变量。 5,内部类定义在类中的局部位置上时,只能访问该局部被final修饰的局部变量。适合场所: 当在描述事物时,一些数据的出现值是固定的,那么这时为了增强阅读性,都给这些值起个名字,方便于阅读。 而这个值不需要改变,所以加上final修饰。 作为常量:常量的书写规范所有的字母都大写,如果由多个单词组成,单词间通过下划线(_ 阅读全文
posted @ 2013-01-05 14:28 陈晓明 阅读(148) 评论(0) 推荐(0) 编辑
摘要: (abstract)抽象:当多个类中出现相同功能,但是功能主体不同。 这时也可以进行向上抽取,这时,抽取功能定义,而不抽取功能主体。抽象方法必须定义在抽象类中。特点: 1,抽象方法一定定义在抽象类中。 2,抽象方法和抽象类都被必须被 abstract关键字修饰。 3,抽象类不可以被实例化(被 new 创建对象),因为调用抽象方法没有意义。 4,抽象类中的方法要被使用,必须由子类复写其拟有的抽象方法后,建立子类调用。 如果子类只重写了部分抽象方法,那么该子类还是一个抽象类。/********************华丽的分隔线***************************/假如我们在开. 阅读全文
posted @ 2013-01-05 14:26 陈晓明 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 一、Interface(接口):初期理解:可以认为是一个特殊的抽象类。 不抽象类中的方法都是抽象的,那么该类可以通过接口的形式来表示。接口: 是不可以被实例化(new 创建对象)的,因为有抽象方法。 需要被子类实现,子类对接口中的抽象方法全部覆盖后,子类才可以实例化。 否则子类是一个抽象类。class 用于定义类,interface 用于定义接口。接口定义时,格式特点: 1,接口中常见定义:常量,抽象方法。 2,接口中的成员都有固定修饰符。 a)常量:public static final b)方法:public abstract 3,接口中的成员都是public的。接口的特点: ... 阅读全文
posted @ 2013-01-05 14:24 陈晓明 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 一、静态(Static)概念:当成员被静态修饰后,就多了一个调用方式,除了可以被对象调用外,还可以直接被类名调用:类名.静态成员static 特点:1,随着类的加载而加载。 也就是说:静态会随着类的消失而消失。说明它的生命周期最长。2,优先于对象存在。 明确一点:静态是先存在,对象是后存在。3,被所有对象所共享。4,可以直接被类名所调用。二、实例变量和类变量的区别:1,存放位置 a)类变量随着类的加载而存在于方法区中。 b)实例变量随着对象的建立而存在于堆内存中。2,生命周期 a)类变量生命周期最长,随着类的消失而消失。 b)实例变量生命周期随着对象的消失而消失。三、静态的... 阅读全文
posted @ 2013-01-05 14:21 陈晓明 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 一、this关键字:1,this看上去是用于区分局部变量和成员变量同名情况。 a)this为什么可以解决这个问题? b)this到底代表的是什么呢?2,this就代表本类的对象,到底代表哪一个呢? a)this代表它所在函数所属对象的引用。 b)简单说:哪个对象在调用this所在的函数,this就代表哪个对象。3,this的应用: a)当定义类中功能时,该函数内部要用到调用该函数的对象时,这时用this来表示这个对象。 b)但凡本类功能内部使用了本类对象,都用this表示。二、this() 语句:this语句用于构造函数之间进行互相调用。 this语句只能定义在构造函数... 阅读全文
posted @ 2013-01-05 14:20 陈晓明 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 1,匿名对象是对象的简化形式2,匿名对象两种使用情况: a)当对对象方法仅进行一次调用时 b)匿名对象可以作为实际参数进行传递3,如果对一个对象进行多个成员调用时,必须给这个对象起个名字。 阅读全文
posted @ 2013-01-05 14:18 陈晓明 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 循环结构:while,do while,forwhile(条件表达式){ }do { }while(条件表达式)do while 与 while结构的区别是,无论条件是否满足,循环体至少被执行一次。1.变量有自己的作用域,对于for来讲:如果将用于控制循环的增量定义在for语句中,那么该变量只在for语句内有效。 for语句执行完毕,该变量在内存中被释放。2.for和while可以互换,如果需要定义循环增量,用for更为合适。总结:什么时候使用循环结构? 当要对某些语句执行很多次时,就使用循环结构 。如果变量值的结果需要在循环结构以外使用,并且有一定的规律,使用while;无限循环的最简单.. 阅读全文
posted @ 2013-01-05 14:17 陈晓明 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 1,作用范围: a)成员变量作用于整个类中 b)局部变量作用于函数中或者语句中如:for2,在内存中的位置: a)成员变量在堆内存中,因为对象的存在,才在内存中存在。 b)局部变量:存在栈内存中。 阅读全文
posted @ 2013-01-05 14:14 陈晓明 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 设计模式:解决某一类问题最告之有效的方法,设计模式是纯思想的! Java中有23种设计模式。一、单例模式(Single): 解决一个类在内存中只有存在一个对象。想要保证对象的唯一:1,为了避免其他程序过多建立该类对象。先控制禁止其它他程序建立对象! 2,还为了其他程序可以访问到该类对象,只好在本类中,自定义一个对象! 3,为了方便其他程序对自定义对象的访问,可以对外提供一些访问方式!代码实现步骤:1,将构造函数私有化。 2,在类中创建一个本类对象。 3,提供一个方法可以获取到该对象。/********************饿汉式************************/package 阅读全文
posted @ 2013-01-05 14:07 陈晓明 阅读(176) 评论(0) 推荐(0) 编辑