Java基础重点整理_
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• • • • • • •
super指这个对象的父类 super用来引用父类中的方法及变量数据. public class apple extends fruits { public apple(int price) { super(price); } } 以上句子表示使用超类的构造函数生成实例
1.10 对象的构造函数
• •
•
•
•
{ void push(object x); 承(可同时实现多个接口) object pop();} 接口的作用和抽象类 class A extends Applet 类似,指定原型,不直 implements Stack { void push(object x) 接定义方法的内容. { 关键字implement用 来 …;//具体内容 实现方法,即在使用时要 } 用给出方法的实际内容 object pop() 接口中的方法和变量 { …;//具体内容} 是public的 }
1.1 有关面向对象的概念
• 什么是方法的重载(多态性)? • 在同一个类中至少有两个方法用同一个名字, 但有不同的参数。
123
void show(int int_num) void show(double double_num) void show(nit nit_ um, float float_um)
类
1.23
123,1.23
1.2 Java语言的特点
• • • • • Java由那些特性? (1) 面向对象 封装性、多态性、继承性 (2) 操作平台无关性(跨平台) 严格的语言定义:“没有依据机器的不同而不同” 或“由编译器决定”等字眼,最后的目标码都 是一致的,初值都是确定的
• (4) 多线程
static 在变量或方法之前, 表明它们是属于类的, class ABCD { char data; static int_share_data; } class Demo { ABCD a,b,c,d}
object b char data
object b static int object c char data share_data char data
1.4 Java类型系统
1.5 Java类型系统
• 能够动态取得的内存有两种,一种是对象实体, 一种数组. • Java用new申请内存,不需要自己释放不用的 内存. • 在Java中,定义数组时不必给出数组的大小, 因为Java的数组是动态分配的。 • 数组变量实际上是一个引用变量,因此要实 例化才能使用。 • 例:int Array[]; Array=new int[8];
class Car { int color_number; int door_number; int speed; push_break() { … } add_oil() { … } class Trash_Car extends Car { double amount;
fill_trash() { … }
Object b char data
1.8 Java名空间及访问规则
• 静态变量在各实例间共享 • 如果是public静态变量,则其它类可以不通过实例化访问 它们 • 静态方法称为类的方法,因此不用实例化即可调用(面向 过程) • 一个对象的方法可以访问对象的数据成员,尽管不属于方 法的局部变量 • 一个类的方法只能访问自己的局部变量
}
push_break() { speed=0; } add_oil() { … } }
1.1有关面向对象的概念
当子类中的变量名与父类的相同,原来的变量被覆盖.
class demo { public static void main(String args[]) { C c=new C(); c.println_out(); }}
1.7 Java中的类、方法和变量
• 类的严格定义及修饰字
public, abstract, final或者没有 [类的修饰字] class 类名称 [extends 父类名称] { …. }
•方法和变量的定义及修饰字
public、protected、private [变量修饰字] 变量数据类型 变量名1,变量名2[=变量初值]…; [方法修饰字] 方法的返回值类型 方法名称(参数1,参数2,… { …//方法的内容 }
1.9 Java中的抽象类、接口和 interface Stack 程序包 利用接口可实现多重 继
1.10 对象的构造函数
• 构造函数应包含哪些内容? • 构造函数多半定义一些初值或内存配置工作 • 一个类可以有多个构造函数(重载),根据参数 的不同决定执行哪一个. • 如果程序中没有定义构造函数,则创造实例时 使用的是缺省函数,它是一个无内容的空函数.
不允许任何其他类存取和调用
1.8 Java名空间及访问规则
方法的覆盖(overriding)和重载(overloading) 子类中定义的方法和父类中某个方法同名,同参数行,则父类 中的该方法被覆盖. 方法的重载是指一个对象的多态性,即多个方法用相同的名
称,但参数行不同.
123
void show(int int_num) void show(double double_num)
类
1.23 123,1.23
void show(nit nit_ um, float float_um)
1.8 Java名空间及访问规则
到此为止-----final final在方法之前,防止该方法被覆盖. final在类之前,标是该类不能被继承 final在变量之前,定义一个常量.
属于类的变量和方法----static
64位 16位
IEEE 754浮点数标准 同一码字符集 ‘\u0000’ (Unicode
• 在Java中”引用“是指向一个对象在内存中 的位置,在本质上是一种带有很强的完整性和 安全性的限制的指针. • 当你声明某个类,接口或数组类型的一个变量 时,那个变量的值总是某个对象的引用或者是 null引用.
1.2 Java语言的特点
• Java提供现成的类Thread,只要继承这个类就可以 编写多线程的程序。
• (5) Java与C及C++的区别
• 不再有#include 和#define 等于处理功能
• 不再有structure,union及typedef
• 不再有函数、不再有指针、不再有多重继承
• 不再有goto • 不再有操作符重载(Operatior Overloading) • 取消自动类型转换,要求强制转换
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);
1.10 对象的构造函数
• this • this指自己这个对象 • this的作用是要将自己这个对象当作参数,传 送给别的对象中的方法.
class ThisClass { public static void main() { Bank bank=new Bank(); bank.someMethod(this); } } class Circle { int r; Circle(int r) {this.r=r;} public area() { return r*r*3;} }
1.9 Java中的抽象类、接口和程序包
• 抽象类是指不能直接被实例化的类,因此一般作为其它类 的超类,与final类正好相反
• 抽象类中的抽象的方法-在该类中定义但不在该类中提供 实现,由继承类提供细节 • public abstract class SomeAbstractClass • { void method1() • { System.out.println(“Hi, Java”);} • void method2(); • } • 定义抽象方法的类必须是抽象类.
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); }}
}
Βιβλιοθήκη Baidu
}
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名空间及访问规则
变量和方法的修饰字public、protected、private public: 任何其它类、对象只要可以看到这个类的话,那么它就 可以存取变量的数据,或使用方法。
protected变量和方法
如果一个类中变量或方法有修饰字protected,同一类,同一包 可以使用。不同包的类要使用,必须是该类的子类可以存取变 量或调用 private
1.3 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浮点数标准
1.8 Java名空间及访问规则
• 每个类都创造了有自己的名字空间,指方法和 变量可以知道彼此的存在,可以使用。 • abstract类不能直接产生属于这个类的对象
• final类不能被其他任何类所继承(安全的考虑)
• public类不但可以被同一程序包中的其它类使用, 别的程序包中的类也可以使用. • friendly(缺省)类只能被本包中的其它类使用
1.1 有关面向对象的概念
什么是封装?
封装把对象的所有组成部分组合在一起,封装定义程序如何引
用对象的数据,实际 公有数据 私有数据 方法 对象B 数据
方法 对象A
上使用方法将类 的数据隐藏起来, 控制用户对类的 修改和访问数据 的权限。
1.1 有关面向对象的概念 • 什么是继承? • 继承是子类利用父类中定义的方法和变量就 像它们属于子类本身一样.