java第四章学习总结
类的三个特性:封装性,继承性,多态性
方法:类方法(前加static); 实例方法
1.类的UML图:使用一个长方形描述类的主要构成,垂直地分为三层。
第一层是类名:类的名字是常规字型-具体类;斜体字型-抽象类
第二层是变量层(属性层):列出类的成员变量及类型,格式:“变量名字:类型”
第三层是方法层(操作层):列出类的方法,格式:“方法名字(参数列表):类型”
2.构造方法与重载:
当程序用类创建对象时需使用它的构造方法。
类中的构造方法的名字必须与它所在类的名字完全相同。重载:允许在一个类中编写若干个构造方法,但必须保证它们的参数不同。
参数不同:参数的个数或类型不同。注:返回类型和参数名字不参与比较。
3.使用对象:
a.对象操作自己的变量(体现对象的属性)
b.对象调用类中的方法(体现对象的行为)
4.没有实体的对象称作空对象,空对象不能使用,即不能让一个空对象去调用方法产生行为。
5.java程序以类为“基本单位”,一个java程序可以将它使用的类分别存放在不同的源文件中,也可以放在一个源文件中。
6.方法被调用时,参数变量必须有具体的值。传值机制:方法中参数变量的值是调用者指定的值的拷贝。
基本数据类型参数的传值:对于基本数据类型的参数,向该参数传递的值的级别不可以高于该参数的级别。eg:不可以向int型参数传递一个float值,但可以向double型参数传递一个float值。
引用类型参数的传值:当参数是引用类型时,“传值”传递的是变量中存放的“引用”,而不去变量所引用的实体。(一个类声明的两个对象如果具有相同的引用,二者就具有完全相同的变量)
7.可变参数:声明方法时不给出参数列表中某项开始直至最后一项参数的名字和个数,这些参数的类型必须相同。可变参数用“…”表示若干个参数。
8.类的关联关系和依赖关系的UML图
a.关联关系
b.依赖关系
9.实例变量和客户变量的声明:
用关键字static给予修饰的称作类变量(static变量或静态变量),否则称作实例变量。
10.实例变量和类变量的区别:
a.不同对象的实例变量互不相同
b.所有对象共享类变量
c.通过类名直接访问类变量
11.实例方法和类方法的区别:
a.对象调用实例方法
b.类名调用类方法
12.this是java的一个关键字,表示某个对象。this可以出现在实例方法和构造方法中,但不可以出现在类方法中。当this关键字出现在实例方法中时,this就代表正在调用该方法的当前对象。
13.包是java预言有效地管理类的一个机制。包名的目的是有效地区分名字相同的类。
package语句的一般格式为:package 包名;
14.运行有包名的主类:
如果主类的包名是tom.jiafei,那么主类的字节码一定存放在…\tom\jiafei目录中,那么必须到tom\jiafei的上一层(即tom的父目录)目录中去运行主类。
假设它的上一层目录是1000,那么应该用如下格式来运行:C:\1000>java tom.jiafei.主类名
即运行时,必须写主类的全名。主类的全名是“包名.主类名”。
15.import语句:a.引入类库中的类 b.引入自定义包中的类
必须写在package语句(假如有的话)和源文件中类的定义之间。
注:
java.lang:包含所有的基本语言类
java.swing:包含抽象窗口工具集中的图形、文本、窗口GUI类
java.io:包含所有的输入/输出类
java.util:包含实用类
java.sql:包含操作数据库的类
java.net:包含所有实现网络工程的类
16.访问权限:指对象是否可以通过“.”运算符操作自己的变量或通过“.”运算符调用类中的方法。
17.访问限制修饰符有private、protected和public。
不用上述3个修饰符修饰的成员变量和方法被称为友好变量和友好方法。
public类与友好类:如果一个类不加public修饰则为友好类,反之为public类。
注:
不能用protected和private修饰类。
18.基本类型的类封装
java的基本数据类型包括boolean、byte、short、char、int、long、float和double。
在java.lang包中,与基本数据类型相关的类分别是Byte、Integer、Short、Long、Float、Double和Character。
a.Double和Float类:它们的构造方法是Double(double num)、Float(float num)
可以用doubleValue()和floatValue()返回数据
b.Byte、Short、Integer、Long类:它们的构造方法是Byte(byte num)、Short(short num)、Integer(int num)、Long(long num)
可以用byteValue()、shortValue()、intValue()、longValue()返回数据
c.Character类:它的构造方法是Character(char c)
可以用charValue()返回数据
19.对象数组:即数组的元素是对象
eg:Student [] stu;
stu = new Student[10]; //此时这些对象都是空对象
//因此在使用数组stu中的对象之前,应当创建数组所包含的对象
eg:stu[0] = new Student();
20.JRE扩展与jar文件:jave运行环境提供了扩展(\jre\lib\ext),只要将类打包为jar格式文件,放入扩展中,程序就可以使用import语句使用扩展中的类了。我们可以使用jar.exe命令把一些类的字节码文件压缩成一个jar文件,然后将这个jar文件存放到java运行环境(jre)的扩展中。