标签:
JDK的安装:
a) path:.;%JAVA_HOME%\bin;
b) JAVA_HOME:JDK的安装目录
c) classpath
JDK和JRE和JVM:
JAVA程序运行过程:
标识符(给类、方法、变量起名):
变量:
定义在方法内或语句块内。 从属于方法或语句块。
使用之前,必须要手动初始化!
定义在类里面、方法外面。 从属于对象!
如果我们没有手动初始化成员变量,系统会自动初始化。初始化的规则如下:
数字:0,0.0 布尔:false char:\u0000 引用类型:null
定义在类里面、方法外面、使用static修饰。 从属于类!
如果我们没有手动初始化静态变量,系统会自动初始化。初始化规则同成员变量。
数据类型:
a) 数字
i. 整数:byte(1个字节) short(2个字节) int(4个字节,整型常量默认该类型) long(8个字节)
ii. 浮点数:float(4个字节) double(8个字节,浮点常量默认为该类型)
b) 字符 char(2个字节)
c) 布尔 boolean(1位)
a) 数组
b) 对象
c) 接口
表达式:
如果有long,结果就是long。
如果有double,结果就是double。
运算符:
if(b=true) if(b) if(c=3) if(3==c)
常见错误写法: 1<a<3 1<a&&a<3
&&, ||, !
&,| 3&4
&,|, <<(左移一位相当于乘以2),>>>(右移一位相当于除以2)
3*4
+=,-=,*=,/=,%=
(布尔表达式)?A:B
控制语句:
a) If
b) If else
c) If else if … else
d) switch 多值选择 表达式:int或char/short/byte, 枚举
break问题
a) while 先判断后执行
b) for
c) do while 先执行后判断
break: 强制终止整个循环
continue:结束本次循环,继续下一次!
面向对象基础:
a) 基本数据类型阶段 数据少 无数据管理时代
b) 数组 数据多了,将同类型的数据放到一起 弱管理
c) 结构体 数据多了,数据复杂了。将不同类型的数据放到一起 强管理
d) 对象 数据多了、类型复杂了、行为复杂了。将不同类型的数据放到一起 超强管理
对象和类:
对象是具体的,类是抽象的。 类也是一个模版,通过类这个模版我们也可以new
对象。
定义类:
public[微软用户1] class 类名[微软用户2] {
//属性
private 数据类型 属性名; //建议增加相应的getter、setter方法
//方法
//构造方法
}
构造方法:
a) 如果我们没有手动定义构造器,系统会自动为我们添加一个无参的构造器
b) 如果我们自己定义了构造器,系统就不会为我们添加无参构造器
a) 有继承关系的构造方法调用的顺序
方法的重载(Overload):
两同(同一个类、同一个方法名)三不同(参数列表不同:;类型、个数、顺序)
返回值不同,构成重载吗? No
形参名称不同,构成重在吗? No
this:
普通方法中,调用本方法的对象。
构造方法中,正要初始化的对象。
还可以用来,调用其他的构造方法
super:
static:
用它修饰的变量和方法,就变成了静态变量和静态方法。从属于类。通过类名即可调用。实际存储于方法区中。
package:
package必须位于非注释行第一句。
包名:域名到这写
import:
引入外部的类
Import static :导入类的静态属性
final:
修饰变量:常量(命名规范:全部大写,多个单词之间通过下划线隔开)
修饰方法:不能被重写
修饰类: 不能被继承
面向对象的三大特征:
封装
通过private、default 、protected、public关键字实现属性或方法的封装。
“高内聚,低耦合”
继承
通过extends 。两个好处:
类只有单继承,没有像C++那样的多继承
方法重写(Override)的要点:
=:方法名保持一致
>=: 子类权限修饰符可以大于等于父类的。
<=, <=: 子类的返回值类型小于等于父类的类型。 子类声明异常类型不能超过父类的类型。
Object类:
多态(polymorphism)
三个必要条件:继承、方法的重写、父类引用指向子类对象
动态绑定、静态绑定:
抽象类:
接口:
内存机制:
栈
堆
方法区
垃圾回收器(GC Garbage Collection):
标签:
原文地址:http://www.cnblogs.com/duzun/p/5658229.html