1、Java语言的优点:
1)Java是纯粹的面向对象语言
2 )不依赖平台,在一次编译中到处工作
3)Java提供了冷酷的嵌入式类库
4 )提供web应用程序支持
5 )安全性(数组边界检测、Bytecode检测)和健壮性(强制型机制、垃圾收集器、异常处理)优异
6 )去除c难以理解的几个特性(头文件中指针运算符的重载多重继承)
2、java和C的异同:
1)Java是解释型语言,C是编译型语言,Java虽然慢但是跨平台
2)Jave是纯粹的面向对象,C是面向对象和面向过程两者。 Jave没有全局变量和全局函数
3 ) Java没有指南,更安全
4 ) Java不支持多继承,但有接口概念
5 ) Java不需要手动分配管理内存(申请释放),提供垃圾收集器的自动回收。 如果堆栈或静态存储区中没有对该对象的引用,则将重复使用。 没有析构函数,但有finalize ?()方法。
6 ) Java既没有运算符重装也没有预处理功能。
3、publicstaticvoidmain ?(string ?[ ] args ?)是程序的入口。
4、java可以有多个main ?()文件,但只有与文件名相同的用public限定的类的main ?()才是程序的入口。 注:只有一个类受public限定,与文件同名。
5、静态高速在main函数之前执行。 初始化执行顺序:亲静态变量亲静态代码块子静态代码变量子静态代码块亲非静态变量亲非静态代码块父类构造函数子非静态代码块子类构造函数
6、构造函数:
1 )与类同名,无返回值
2 )也可以有多个,根据参数而不同
3 )总是伴随着new操作进行调用
4 )主要用于对象的初始化
五)不继承
6 )可以使用super查看调用的父类构造函数
7、浅复制只复制考虑的对象,不复制它参照的对象。 深度复印两者都复印
8、面向对象和面向过程的区别:
1 )面向对象以符合通常想法的方法处理客观世界的问题,面向过程以事件为中心模块化。
2 )面向对象是使计算机世界接近客观世界,使问题的处理更加明确。 面向过程是明确而正确地表现过程的模块,把客观世界的问题抽象成计算机能处理的过程。
9 .面向对象的特征和优点:抽象继承包的多态性有很高的开发效率,代码可以重复使用。 维护性高,代码更明确了。10.Java只支持单一根继承,extends继承是is ?a关系,组合是has ?a关系。
尽量不要继承能用java语言组合的人。
十一、多态性:
重载(同一个类有多个同名的方法)的水平关系
重写(子类重写父类,方法名和参数列表相同)垂直关系
12 .抽象类和接口的异同:
1 )只要一个抽象方法都是抽象类,接口的方法都是抽象方法,称为纯抽象类。
2 )抽象类的子类必须实现父类的抽象方法。
3 )接口内的变量都默认为:必须为static ?final分配初始值。
4 )接口实现用implements。 一个类可以实现多个接口类似的多个继承的关系。
5 )接口适用于经常使用的功能,如添加删除。 抽象类用于生活公共类的角色,不适用于频繁修改代码的情况。
13、this和super的区别:
This用于指当前的实例对象。
Super用于访问父类的方法和成员变量
如果继承父类,则在子类的构造函数中,super ?()必须放置第一个语句。
14、break ?continue ?return的区别:
Break用于直接从当前循环中弹出,不执行剩下的代码。
Continue用于停止这次循环,返回到第一个循环。
Return跳跃用于表示从方法返回。
Break ?out脱离多重环路
十五、静态作用:
a为对象分配一个存储空间,而不管要创建的对象数量如何
实现方法或属性和类,而不是与b对象相关联
c变量达到全局效果,内存中只有一个副本
16、实现不变类:
类中的所有成员变量都由private限定
我没有写set方法
类定义final
17、交货价和参照交货的区别:
值的传递:实际参会将该值传递给形状参数
参照传递:传递的是对象,形状参照和实际参照指的是同一存储单元。
有18、8种基本数据类型。 类型转换优先级: byte不能与booleam交换。
19、round表示四舍五入ceil为向上舍入floor为向下舍入,I表示先执行后相加
1、I表示先追加执行。
20、String ?s1=”abc”保存在常数区域
string ?S2=“ABC”应用S2常量区域的对象,不创建新对象。
String ?s3=new ?String(“abc”)在堆中创建对象,
String ?s4=new ?String(“abc”)还必须在堆中创建新对象。21、"="和" equals ?"
“==”用于比较两个变量的值是否相等。 如果一个变量饿数据是对象(引用类型),则有两个内存。 对象本身占用一个存储器(堆存储器),变量也占用一个存储器。 String ?s4=new ?String(“abc”)。 与变量s对应存储器中存储的数值是对象占用该存储器的起始地址,在想确认两个变量是否指同一对象,即对应存储器内的数值(起始地址)是否相同的情况下。
equals比较的不是引用,而是比较了数值内容,即abc。
22、数组也是对象。 数组提供length属性以获取数组的长度,String通过length ?()计算。
23、异常处理
1 ) try ?catch ?finally模式
2 )除非程序在try之前发生异常,或者在try中使用exit ?()强制退出,否则Finally块中的代码一定会运行。
3 ) jvm将错误显示为例外并抛出,通过catch进行捕获处理。 安全和鲁棒性。
4 )异常大致分为错误(error ?)和异常(Excetion ?)两种
异常有检查异常和运转异常。
检查异常也被称为编译异常。
例: IO异常、SQL异常
运行异常是空指针异常、类型转换异常、算术异常、数组越境异常、数组存储器异常、缓冲器溢出异常。
捕获子类后,如果捕获父类并早期抛出异常,则会处理该异常,否则会抛出。 运行时异常不需要实际处理,而是直接抛出。
24、Java ?IO ?:字节流(8位)不使用缓存字符流(16位)
25,叫插座。 用于实现不同虚拟机或不同计算机之间的通信。
分为面向连接的TCP、可靠性两种类型。 没有面向连接的UDP,不可靠。
两个套接字都由IP地址和端口号唯一确定。
26.Java平台的独立性是在一个平台上编写程序、编译并在其他平台上运行。 有JVM和java ?API。
Java语言是动态解释型语言,类class只能在加载到JVM中时运行。 加载基类,而不是一次加载和运行所有类,其他类根据需要加载。
27、垃圾回收GC ?:回收不使用的内存。 三项任务:避免错误地重复使用分配和引用的内存。 重复使用不再被引用的对象的内存。