1 - 6章 Java复习总结
第一章 Java概述
- Java应用平台:桌面应用开发(Java核心、基础)–JavaSE、(企业级应用开发)–JavaEE、(手机等移动产品开发)–JavaME。
- Java虚拟机(JVM)主要实现Java字节码文件的解释和执行,为 不同的平台提供统一的接口。
- 字节码是什么?
– Java源程序编译生成字节码程序,字节码是一种近似于机器码的 中间码,不受计算机硬件设备和操作平台种类的限制,只要计算 机中有Java运行的环境,Java字节码就可以在其上运行。 - Java的工作原理
- Java环境变量配置
(1)变量名"JAVA_HOME",变量值"C:\Java\jdk1.8.0_05"(即JDK的安装路径)
(2)变量名"Path",在原变量值的 最后面加上“;%JAVA_HOME%\bin;%JAVA_HO ME%\jre\bin”
(3)变量名“CLASSPATH”,变 量值“.;%JAVA_HOME%\lib;%JAVA_HO ME%\lib\dt.jar;%JAVA_HOME%\lib\to ols.jar”
第二章 Java基础
-
Java的注释符有三种:
– 块注释(/* 注释的内容 * /)
– 行注释(// 注释内容)
– 文档的注释(/** 注释的内容 */) -
标识符概念:
– Java语言中,对于变量,常量,函数,语句块也有名字,我们统 统称之为Java标识符。
– 标识符是用来给类、对象、方法、变量、接口和自定义数据类型命名的。 -
标识符组成:
– Java标识符由数字,字母和下划线( _ ),美元符号( $ )组成,只能 以字 母、“_”或“$”开头。
– 标识符是大小写区别对待的并且未规定最大长度。
– 标识符不能是Java关键字。 -
数据类型
– 整数类型 byte(1个字节), short(2个字节), int(4个字节), long(8个字节)
– 浮点类型 double(8个字节), float (4个字节)
– 字符类型 char
– 布尔类型 boolean -
三元运算符 (x>y?x:y)
– 表达式:condition ? expression 1 : expresson2
– 条件condition为真时计算第1个表达式,否则计算第2个表达式 -
类型转换
基本数据类型之间可以进行相互转换。
– 隐式转换:当进行类型加宽转换时可以自动实现。
• 举例 : int n = 5 ;double f = n ;
– 强制转换: 当进行类型收缩转换时转换必须进行显式转换。
• 举例 : double f = 5.5 ; int n = ( int ) f ;
数据类型按容量大小排序 – byte→ short→ (char)→ int→long→float→ double
– byte,short, char之间不会相互转换,他们三者在计算时首先转 换为 int 类型
第三章 数组
(1) 一维数组的初始化
– 静态初始化
• 举例 :
int ids[]={ 1,2,3,4,5,6,7,8};
String[] stuNo={“2011010345”, “2011010346”, “2011010347”};
double scores[]={62,45.5,88.1,76.4};
– 动态初始化
• 举例 :
int series[ ]= new int[4];
for (int i=0;i<4;i++){
series[ i ]=i*3;
}
(2) 二维数组的初始化
– 静态初始化
• 举例 :
int number[ ] [ ] = { {1,2},{3,4},{5,6}};
char ch[ ] [ ] = { {‘a’, ‘b’},{‘c’, ‘d’},{‘e’, ‘f’}};
– 动态初始化
long[ ][ ] array_long = new long[5][5];
String[ ][ ] names = new String[3][4];
(3) java.util.Arrays类能方便地操作数组,它提供的所有方法都是静态的常用方法: – copyOf()实现数组的复制
– Fill() 实现数组元素的初始化
– Sort()实现数组的排序
第四章 类和对象
-
类声明的语法:
[修饰符] class 类名 {
[private/protected/public] 成员的声明和定义 ;
} -
类的成员方法:
[方法修饰符] 方法返回值 方法名([<参数列表>]) {
方法体;
}
– 成员方法修饰符:主要有public、private、protect、final 、static、abstract和synchronized 7种, 用来说明方法的访问权限。 -
方法重载
– 类中两个以上的同名方法,参数类型或个数不同,称为方法的重载。
–方法重载的依据
–方法名相同
–参数列表必须不同
注意
–返回值可以不同(返回值不作为重载的依据)
–是否静态的也不作为重载依据
–重载的方法之间可以互相调用 -
构造方法
– 功能:初始化对象
–方法名:与类名相同
–参数:可有,可无
–返回值:不指定返回值(不能写void )
–内容:任意,通常只包含成员赋值语句
–调用方法:创建对象时自动调用
–在对象的生命周期中构造方法只会调用一次。
–一个类中如果没有定义构造方法,Java编译器会自动为类产生一个默认的构造方法。默认产生的构造方法是一个无参的,什么也不做的空方法,只要类中有显示声明的构造方法,Java编译就不产生默认的构造方法。
–在一个类中可以定义多个构造方法,但构造方法的参数列表不能相同。
第五章 类的封装
- 成员方法或变量声明为public
–可以被所有的类访问的成员(前提所属类本身是可见的) - private私有成员
–不能被其所在类以外的任何类访问
–声明为private的成员,称为私有成员 - protected保护成员
–声明为protected的成员,称为保护成员
–可以被同一包内的类访问和被子类继承 - 没有任何修饰符的成员,称为默认成员
–只能被同一包内的类访问
第六章 类的继承
–继承就是从已有的类(父类)产生一个新的子类(派生类),子类通过继承自动拥有父类的非私有的属性和方法。
- 继承语法:
继承的语法格式:
class 子类名称 extends 父类名称{
//扩充或修改的属性与方法;
}
要点:
–Java 中的单继承机制:一个类只能有一个直接父类;
–final修饰的类不能有子类;String是典型特例
–Object类是所有Java类的顶级父类。 - super用于引用父类中的属性或方法
super.属性、super.方法()
注意:
–子类只能访问父类中的protected或public类型的属性或方法。 - 调用父类的构造方法
–使用super()、super(参数)的形式。
–super()调用只能放在子类构造方法的第一行。
–子类构造方法中没有显示调用父类构造方法,则默认调用父类的无参构造方法。 - 方法重写
–重写只能出现在继承关系之中。当一个类继承它的父类方法时,都有机会重写该父类的方法。重写的主要优点是能够定义某个子类型特有的行为。
–对于从父类继承来的抽象方法,要么在子类用重写的方式设计该方法,要么把子类也标识为抽象的。所以抽象方法可以说是必须要被重写的方法。
!!子类中可以对父类中定义的方法进行改造,但必须遵循一定的规则:
–重写的方法返回类型一致;
–重写的方法具有相同的方法名;
–重写的方法参数列表必须相同;
–不能重写被标识为final的方法;
–重写的方法不能缩小访问权限;
–如果一个方法不能被继承,则不能重写它。如:父类的private方法。 - 抽象类和接口
abstract修饰的类称为抽象类,抽象类的特点:
–不能实例化对象;
–类中可以定义抽象方法(abstract修饰的方法);
–抽象类中可以有非抽象方法。
abstract修饰的方法称为抽象方法,抽象方法只有方法的声明没有方法实现,即没有方法体。包含抽象方法的类本身必须被声明为抽象的。
–子类继承抽象类必须实现抽象类中所有的抽象方法,否则子类也必须定义为抽象类。
–接口可以看做是一种特殊的抽象类,其中包含常量和方法的声明,而没有变量和方法的实现。
–接口只有方法的定义没有方法的实现,即都是抽象方法,这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)
要点:
– 一个类可以同时实现多个接口;
– 一个接口可以被多个无关的类实现;
– 一个类实现接口必须实现接口中所有的抽象方法,否则必须定义为抽象类。
–Java中接口可以继承接口,与类的继承概念一致,一个接口继承一个父接口就会继承父接口中定义的所有方法和属性。
–Java中接口的继承是多继承机制,即一个接口可以同时继承多个接口。