Java基础重点整理

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.8 Java名空间及访问规则
• 变量和方法的修饰字public、protected、private • public: 任何其它类、对象只要可以看到这个 类的话,那么它就可以存取变量的数据,或 使用方法。
class ABC { public int pub_i=5; public void show)() { System.out.println (“pub_i”+pub_i); }
• 什么是封装? • 封装把对象的所有组成部分组合在一起,封 装定义程序如何引用对象的数据,封装实际
公有数据 私有数据 方法 对象B 数据
方法 对象A
上使用方法将类 的数据隐藏起来, 控制用户对类的 修改和访问数据 的程度。
• 什么是子类? • 子类是作为另一个类的扩充或修正所定义的 一个类.
bicycle (super class) sub class
• 不再有goto • 不再有操作符重载(Operatior Overloading) • 取消自动类型转换,要求强制转换
1.3 Java的开发环境
产生如下目录结构
java\bin的目录下包含义下主要文件: javac: Java编译器, 用来将java程序编译成 Bytecode java: Java编译器,执行已经转换成Bytecode的 java应用程序. jdb: Java调试器, 用来调试java程序 javap: 反编译,将类文件还原回方法和变量. javadoc:文档生成器,创建HTML文件 appletviwer : Java解释器, 用来解释已经转换成 Bytecode的java小应用程序.
1.5 Java类型系统
Java type system
primitive
reference
null
char integral
numeric
boolean class interface array floating-point
byte
short
int
long
wk.baidu.comfloat
double
1.5 Java类型系统
• • • • • byte short int long float 0.0f • double 0.0d • char • 8位 16位 32 位 64位 32位 2 的补码 (byte) 0 2 的补码 (short) 0 2 的补码 0 2 的补码 0L IEEE 754浮点数标准
64位 16位
IEEE 754浮点数标准 同一码字符集 ‘\u0000’ (Unicode
1.5 Java类型系统
• 程序:保留字,标识符(类名、域名、方法名、 符号常量、局部变量,标号、…),操作符、 界定符,字面常量。
• 声明一个变量
• int data=10; Boolean isAlived;
• Java中的操作符:与C基本一致
1.5 Java类型系统
1.5 Java类型系统
例: String s1;String s2; s1=“a string”; s2=s1; s1
10001 10001 a string
s2
class Mydate { int year; int month; int day; }
0 today 10008 0 0

1.5 Java类型系统 例:String arrayOfString[]=new String[10];
每个数组元素包含一个对字符串对象的引用, 此时值分配了包含字符串引用的空间,并没 有对字符串本身分配内存,此时不能访问。
arrayOfString[0] 对 arrayOfString[1] 字 符 对数组的引用 arrayOfString[8] 串 arrayOfString[9] 的 引 for(int i=0;i<arrayString.length;i++) 用 arrayOfString
1.8 Java名空间及访问规则
• protected变量和方法 • 如果一个类中变量或方法有修饰字 protected,同一类,同一包可以使用。不 同包的类要使用,必须是该类的子类可以 public class ABC 存取变量或调用 int pro_i=5; { protected
protected void show() { System.out.println (“pro_i=” +pro_i;) } }
1.1 有关面向对象的概念
Mountain bikes
Racing bikes
Tandem bikes
• 什么是继承? • 继承是子类利用父类中定义的方法和变量就 像它们属于子类本身一样.
class Car { int color_number; int door_number; int speed; push_break() { … } add_oil() { … } class Trash_Car extends Car { double amount;

1.23
123,1.23
1.2 Java语言的特点
• Java是什么?
Java= “C++”--“复杂性和奇异性”+“安全性和可移植性”
• • • • •
Java由那些特性? (1) 面向对象 封装性、多态性、继承性、动态链接 (2) 操作平台无关性 严格的语言定义:“没有依据机器的不同而不同” 或“由编译器决定”等字眼,最后的目标码都 是一致的,初值都是确定的
Mydate today=new MyDate()
1.5 Java类型系统
• 能够动态取得的内存有两种,一种是对象实体, 一种数组. • Java用new申请内存,不需要自己释放不用的 内存. • 在Java中,定义数组时不必给出数组的大小, 因为Java的数组是动态分配的。 • 数组变量实际上是一个引用变量,因此要实 例化才能使用。 • 例:int Array[]; Array=new int[8];
1.8 Java名空间及访问规则
• 每个类都创造了有自己的名字空间,指方法和 变量可以知道彼此的存在,可以使用。 • abstract类不能直接产生属于这个类的对象
• final类不能被其他任何类所继承(安全的考虑)
• public类不但可以被同一程序包中的其它类使用, 别的程序包中的类也可以使用. • friendly(缺省)类只能被本包中的其它类使用
1.8 Java名空间及访问规则
class Demo { public static void main(String args[]) { ABC abc=new ABC();
System.out.println(“abc.pub_i”+abc.pu b_i); abc.pub_i=10; abc.pub_i=5 abc.show(); pub_i=10; }
• Java中不再有指针了
• 在Java中”引用“是指向一个对象在内存中 的位置,在本质上是一种带有很强的完整性和 安全性的限制的指针. • 当你声明某个类,接口或数组类型的一个变量 时,那个变量的值总是某个对象的引用或者是 null引用. • 指针就是简单的地址而已,引用除了表示地址 而外,还象被引用的数据对象的缩影,还提供其 他信息. • 指针可以有++,--运算,引用不可以运算.
1.8 Java名空间及访问规则
import mytest.pack.ABC; class DEF extends ABC { public static void main(String agrs[]) { DEF def=new DEF(); System.out.println(def.i); def.i=10; def.show(); } }
1.1 有关面向对象的概念
fill_trash() { … }
}
}
1.1 有关面向对象的概念
• 什么是方法的覆盖? • 在子类中重新定义父类中已有的方法。
class Car { int color_number; int door_number; int speed; class Trash_Car extends Car { double amount; fill_trash() { … } push_break() { speed=speed-10; }
1.8 Java名空间及访问规则
• 不同中的类不能使用
class DEF { public static void main(String args[]) { ABC abc=new ABC(); System.out.println (“abc.pro_i=“+abc.pro_i); abc.pub_i=10; abc.show(); } }
• 不同包但是是子类
pro_i=5 pro_i=10
1.8 Java名空间及访问规则
• • • • private 不允许任何其他类存取和调用 friendly(前边没有修饰字的情况) 在同一程序包中出现的类才可以直接使用 它的数据和方法.
1.8 Java名空间及访问规则
• 当子类中的变量名与父类的相同,原来的变量 被遮盖. class demo
}
push_break() { speed=0; } add_oil() { … } }
1.1 有关面向对象的概念
• 什么是方法的重载(多态性)? • 在同一个类中至少有两个方法用同一个名字, 但有不同的参数。
123
void show(int int_num) void show(double double_num) void show(nit nit_ um, float float_um)
{ public static void main(String args[]) { C c=new C(); c.println_out(); }} class A { int data_a=3;} data_a=5 class B extends A { int data_a=5;} A.data_a=3 class C extends B B.data_a=5 { void print_out() { System.out.println(“data_a= ”+data_a); System.out.println(“A.data_a= ”+A.data_a); System.out.println(“B.data_a= ”+B.data_a); }}
1.7 Java中的类、方法和变量
• 类的严格定义及修饰字
public, abstract, final或者没有 [类的修饰字] class 类名称 [extends 父类名称] { …. }
•方法和变量的定义及修饰字
public、protected、private [变量修饰字] 变量数据类型 变量名1,变量名2[=变量初值]…; [方法修饰字] 方法的返回值类型 方法名称(参数1,参数2,… { …//方法的内容 }
• • • • • • • •
变量:即指对象的所知道的状态 方法:指对象的功能单元。 什么是消息? 软件对象通过相互间传递消息来相互作用和 通信 message 一个消息由三部分组成: 1. 接受消息的对象 2. 要完成方法的名字 对象B 3. 方法需要的参数 对象 A
1.1 有关面向对象的概念
1.1 有关面向对象的概念
• (4) 多线程
1.2 Java语言的特点
• Java提供现成的类Thread,只要继承这个类就可以 编写多线程的程序。
• (5) Java与C及C++的区别
• 不再有#include 和#define 等于处理功能
• 不再有structure,union及typedef
• 不再有函数、不再有指针、不再有多重继承
arrayOfString[i]=new String(“Hello”+i)
1.6 Java中的字符串
• • • • • • • • • 有两个字符串str1,str2 str1=str2; 是指两个引用指向同一个地址 str1.equals(str2) 是指两个字符串内容相等 获取String对象的信息 例如:String s=“this is a string”; int len=s.length(); boolean result=s.equal(“this is a 特test”); char ch=s.charAt(6);
相关文档
最新文档