一、面向对象的三个基本特征:
1、封装,将对象的实现细节隐藏起来,并通过公共接口暴露相关功能;
2、继承,代码复用的表现,当子类继承父类后,子类作为一种特殊的父类,直接获得父类的属性和方法;
3、多态,子类对象可以直接赋给父类变量,但运行时依然表现出子类的行为特征,意味着同一个类型的对象在运行时可能表现出不同的行为特征
(PS:java不支持多重继承)
二、面向对象编程的一般过程大致为:OOA面向对象分析、OOD面向对象设计和OOP面向对象编程三个阶段。面向对象分析设计一般需用到UML工具。UML主要有以下几种图:用例图、类图、组件图、部署图、顺序图、活动图和状态机图
三、JAVA 8中基本数据类型
数据类型 |
大小 |
范围 |
默认值 |
byte(字节) |
8 |
-128 - 127 |
0 |
shot(短整型) |
16 |
-32768 - 32768 |
0 |
int(整型) |
32 |
-2147483648-2147483648 |
0 |
long(长整型) |
64 |
-9233372036854477808-9233372036854477808 |
0 |
float(浮点型) |
32 |
-3.40292347E+38-3.40292347E+38 |
0.0f |
double(双精度) |
64 |
-1.79769313486231570E+308-1.79769313486231570E+308 |
0.0d |
char(字符型) |
16 |
‘ \u0000 - u\ffff ’ |
‘\u0000 ’ |
boolean(布尔型) |
1 |
true/false |
false |
四、JAVA中基本数据类型的转换方式:*转换和强制转换。强制转换的方式与C语言类同,浮点数转整数直接去掉小数点后面的内容,缩小转换时从低位对齐转换。
五、JAVA中运算符优先级:赋值运算<三目运算<逻辑运算<位操作<关系运算符<移位运算符<算术运算符<强制转换<单目运算符<分隔符。
六、JAVA中break结束循环、continue结束本次循环、return结束方法
七、JAVA中两种数组定义方法:1、type[] arrayname 2、 type arrayname[]。其中第二种定义方法与C语言类似,但语义不明确,建议使用第1中,表明type[]也是一种引用类型。
JAVA中数组必须先初始化才能使用,这一点与C语言不同,JAVA中有两种数组初始化的方法:静态初始化和动态初始化,执行动态初始化时,系统根据数组类型自动初始化值,比如int[]
则将所有元素初始化为0,引用类型则初始化为null。
八、JAVA中遍历数组的方法有两种:1、类似于C语言的基本for循环 2、jdk1.5之后提供foreach循环其格式为for(type a,arrayname),其中arrayname为type[]类型数组
九、JAVA中数组元素保存在heap内存中,而数组引用变量则存储在stack中。(JAVA中stack一般保存方法中定义的变量,每个方法的运行都会新建一个stack区,在方法运行时逐个将变量压入stack,方法结束时
则pull所有变量,自然销毁stack;heap中保存对象,方法结束时对象也不会销毁,只有当对象不再被引用时回被回收)
十、JAVA中this指向调用类中方法的对象,它的最大作用是实现在一个类的内部方法的互相调用,但在使用时往往省略this关键字,特别的在static修饰的方法中是不允许使用this
十一、JAVA中方法的参数传递唯一方式:值传递。C语言对应着两种:值传递和地址传递。其实JAVA与C本质没有区别,只是JAVA将指针做了封装,只需要值传递就能完成C语言两种传递方式对应的操作。