Java基础重点整理.ppt
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 什么是封装?
• 封装把对象的所有组成部分组合在一起,封 装定义程序如何引用对象的数据,封装实际
公有数据 私有数据
方法
上使用方法将类
数据
的数据隐藏起来,
控制用户对类的
修改和访问数据
方法
的程度。
对象A
对象B
1.1 有关面向对象的概念
• 什么是子类? • 子类是作为另一个类的扩充或修正所定义的
一个类.
1.5 Java类型系统
• byte 8 位 2 的补码 (byte) 0
• short 16位 2 的补码 (short) 0
• int
32 位 2 的补码
0
• long 64位 2 的补码
0L
• float 0.0f
32位
IEEE 754浮点数标准
• double 64位 0.0d
IEEE 754浮点数标准
1.5 Java类型系统
• 在Java中”引用“是指向一个对象在内存中 的位置,在本质上是一种带有很强的完整性和 安全性的限制的指针.
• 当你声明某个类,接口或数组类型的一个变量 时,那个变量的值总是某个对象的引用或者是 null引用.
• 指针就是简单的地址而已,引用除了表示地址 而外,还象被引用的数据对象的缩影,还提供其 他信息.
1.1 有关面向对象的概念
• 变量:即指对象的所知道的状态
• 方法:指对象的功能单元。
• 什么是消息?
• 软件对象通过相互间传递消息来相互作用和
通信
message
• 一个消息由三部分组成:
• 1. 接受消息的对象
• 2. 要完成方法的名字
对象B
• 3. 方法需要的参数
对象 A
1.1 有关面向对象的概念
int door_number; int speed;
push_break() { … } add_oil() { … } }
class Trash_Car extends Car
{ double amount;
fill_trash() { … }
}
1.1 有关面向对象的概念
• ቤተ መጻሕፍቲ ባይዱ么是方法的覆盖?
1.3 Java的开发环境
产生如下目录结构
java\bin的目录下包含义下主要文件: javac: Java编译器, 用来将java程序编译成
Bytecode java: Java编译器,执行已经转换成Bytecode的
java应用程序. jdb: Java调试器, 用来调试java程序 javap: 反编译,将类文件还原回方法和变量. javadoc:文档生成器,创建HTML文件 appletviwer : Java解释器, 用来解释已经转换成
Mydate today=new MyDate()
a string
0 0 0
1.5 Java类型系统
• 能够动态取得的内存有两种,一种是对象实体, 一种数组.
123,1.23
void show(nit nit_ um, float float_um)
1.2 Java语言的特点
• Java是什么?
Java= “C++”--“复杂性和奇异性”+“安全性和可移植性”
• Java由那些特性? • (1) 面向对象 • 封装性、多态性、继承性、动态链接 • (2) 操作平台无关性
• 在子类中重新定义父类中已有的方法。
class Car { int color_number;
int door_number; int speed;
push_break() { speed=0; }
add_oil() { … } }
class Trash_Car extends Car
{ double amount;
bicycle (super class)
sub class
Mountain bikes Racing bikes
Tandem bikes
1.1 有关面向对象的概念
• 什么是继承?
• 继承是子类利用父类中定义的方法和变量就 像它们属于子类本身一样.
class Car { int color_number;
• char 16位 同一码字符集 ‘\u0000’
•
(Unicode
1.5 Java类型系统
• 程序:保留字,标识符(类名、域名、方法名、 符号常量、局部变量,标号、…),操作符、 界定符,字面常量。
• 声明一个变量
• int data=10; Boolean isAlived; • Java中的操作符:与C基本一致 • Java中不再有指针了
Bytecode的java小应用程序.
1.5 Java类型系统
Java type system
primitive
reference null
char
numeric
integral
boolean class interface array floating-point
byte short int long float double
fill_trash() { … } push_break() { speed=speed-10; }
}
1.1 有关面向对象的概念
• 什么是方法的重载(多态性)?
• 在同一个类中至少有两个方法用同一个名字, 但有不同的参数。
void show(int int_num)
123
类
1.23 void show(double double_num)
• 指针可以有++,--运算,引用不可以运算.
1.5 Java类型系统
例: String s1;String s2; s1 s1=“a string”; s2 s2=s1;
10001 10001
class Mydate { int year;
int month; int day; }
today 10008
• 严格的语言定义:“没有依据机器的不同而不同” 或“由编译器决定”等字眼,最后的目标码都 是一致的,初值都是确定的
1.2 Java语言的特点
• (4) 多线程 • Java提供现成的类Thread,只要继承这个类就可以
编写多线程的程序。 • (5) Java与C及C++的区别 • 不再有#include 和#define 等于处理功能 • 不再有structure,union及typedef • 不再有函数、不再有指针、不再有多重继承 • 不再有goto • 不再有操作符重载(Operatior Overloading) • 取消自动类型转换,要求强制转换