1. 环境变量的配置:path和classpath指向java/bin目录下;
2. java语言的特点:可移植,面向对象,分布性,健壮性,安全性,简单性,高性能,多线程,动态性。
3. 数据类型:
整型:字节型(byte 1字节) 短整型(short 2字节) 基本型(int 4字节) 长整型(long 8字节);
浮点型:单精度浮点(float 4字节) 双精度浮点(double 8字节);如1.5E5, -1.7E-7;
默认双精度,如果指定单精度,写法:1.5F或1.5f;
字符型:与c/c++不同,char是2字节,存放的不是ASCII码,而是Unicode码。
布尔型:true和false,与c/c++不同,不能用整型值表示逻辑结果,只能用布尔型。
常量:final intMALE=1; final eight=o11; final sixth=oxFF;
变量:int test=1;java变量必须设置初始化值。
4. 流程控制语句:
空语句:表达式后面加一个分号,如:“b=a; ;”
块语句:写在大括号中“{b=a;}”
if(){} if(){}else{} if(){}else if(){} else if(){}else{} switch(key){case key: aa(); break;}
while(){} do{}while(); for(){}
5. 带标号的break和continue:
outer: for(){... break outer;} outer: for(){... continue outer;}
6. 注释:
行注释: // ; 块注释 /* .. */ ; 文档注释 /** ... */ ;
7. 面向对象的四个基本特征:抽象性,封装性,继承性,多态性;
抽象:模拟物理实体和逻辑实体。
封装:将数据以及操作方法组织在一起,形成独立构件,从而使外部无法访问,除非通过接口(interface);
继承:从父类派生出子类,使子类自动拥有父类的方法和属性;
多态:允许不同类的对象对同一消息做出响应,从而产生不同效果。包括参数化多态性和运行方法多态性;
对象:一个物理或逻辑实体,是pc模拟真是世界的一个抽象。类的实例化;
类:对象的模板,具有同类特征的对象的集合。
消息:对象间通过消息实现相互作用。分3部分,接受对象,接受者执行的方法,方法的参数;
8. 类的修饰符:
final:最终类,不能拥有子类;
abstract:抽象类,类中某些方法没有实现,必须由子类实现,不能被实例化;
public:公共类,表示本类可以被所属包以外的类访问;
注意:final和abstract互斥,实现了aa接口:implements aa;
9. 创建对象的3步:声明,实例化,初始化;
10. 变量修饰符:
public:公共变量,可以被任何类访问。
private:私有变量,只允许本类内部访问。
protected:保护变量,允许本类访问,允许派生类访问,允许同包中其他类访问。派生类可以不再同包中。
final:最终变量,
static:静态变量,对象不用实例化就能使用,既可以通过对象名.变量名访问,也可以通过类名.变量名访问。
默认访问变量,也叫friendly变量,变量前不加任何修饰符,只允许本类和同包中其他类访问,派生类要访问,必须在同包中。
11. 类的成员变量:
实例成员变量,在类的外部使用它,必须先实例一个对象,然后用对象名.变量名访问。如:protected int aa=0;
静态成员变量,又叫类变量,能被类的所有对象共享,保存在类的公共存储单元,在对象未实例化之前就可使用。既可以通过
对象名.变量名访问,也可以通过类名.变量名访问。 如: protected static int aa=0;
局部变量,只能被final修饰,不会自动赋值,作用域仅限于方法类。比同名的成员变量优先级高。要访问同名局部变量用this
成员变量,作用于整个类内部,
12. 方法修饰符:权限修饰符(private,protected,public),final,static三种。
13. 方法的调用:同类中用(this.方法名) 异类中用(对象名.方法名 或者 类名.方法名(此方法必须是静态方法))
14. 构造方法:在对象实例化的时候自动调用,名字必须与类名相同,不能有修饰符(除权限修饰符)和返回值,也不能用void修饰,
同一个类可拥有多个构造方法,单要求参数不同。用户不提供构造方法时,系统自动提供一个无参构造方法。
15. 在构造方法中调用构造方法:用this,必须写在第一句。如:public aa(int x) public aa(){this(100); .....}
16. 静态方法:在访问本类成员时,只能访问静态变量和方法,用类名.方法名 或 对象名.方法名调用。
17. 静态代码块:static{...}只能写在类中,不能写在方法中,块中所有变量是局部变量,类被加载时自动执行,允许多个静态代码块,只能访问静态变量。
18. 结束方法:在垃圾收集器清除对象之前被调用,可自定义重写。protected void finalize(){....}