Java第三讲_Java类与对象,
Java第三讲_Java类与对象,
Java第三讲_Java类与对象
目标:
1、面向对象和面向过程的区别
2、类与对象
3、变量:
~ 类变量与实例变量
~final变量—常量
4、方法:
~类方法与实例方法
~方法的重载
~构造方法
5、 this关键字的使用
6、包的使用
一、面向过程和面向对象:
1、面向过程编程: 从解决问题的每一个步骤入手,适合于解决比较小的简单问题。
~ 程序 = 算法+数据。
2、面向对象编程:按照现实世界的特点来管理复杂的事物,把它们抽象为一个对象,具有自己的状态和行为,通过消息的反应来完成一定的任务。
~ 程序 = 对象+消息。
3、面向对象三大特性:
~封装 : 将其信息属性和方法具体实现隐藏起来,只提供调用方法的接口,既封装。
~继承: 将一个已有类中的属性和方法保留,可再加上自己特有的属性和方法形成一个新类,既继承。
~多态: 指同名但有不同的具体实现的多个方法同时存在一个程序中。有两种是方法:重载和覆盖。
二、类与对象:
~类(Class):是对一组具有相同属性、操作和关系的同类事物的描述,是抽象的、概念上的定义。
~对象(Object):是实际存在的该类事物的每个个体,因而也称实例(instance)。
1、类的定义:
类主要定义类的属性(变量)、方法和关系。
类由类声明和类体构成;格式:
-修饰符 class 类名 [extends 父类名][implements 接口名] {
-修饰符 类型 成员变量;
- ……
-修饰符 类型 方法(参数列表){
-类型;
-局部变量;
-方法体;
-……
}
}
例如:
这是类声明:public class EmpDeptServiceImpl extends Hibernate_Dao implements IEmpDeptService{ 大括号这里写类体 }
大括号里的内容:一个类体:public boolean saveDept(Department dept) {
return saveObject(dept);
}
2、对象的创建:
A、对象的声明:
~类的名字 对象的名字
如:person p1
B、对象的实例化和初始化:
~ new关键字实例化已经声明的对象,并在堆中分配内存空间。
如:Person p1 = new Person(“Tom”,0);
3、对象的使用:
~对象的调用方法:
-对象名 . 变量名
-对象名 . 方法名
4、对象的比较:
~equals和 == 的应用
--object1.equals(object2)
比较两个引用数据类型句柄所指对象的内容是否一样
是比较两个对象,而非两个基本数据类型的变量
--object1 == object2
比较两个引用数据类型句柄是否是指向同一对象,即这两个句柄所指向的内存地址是否一样。
比较两个相同基本数据类型的值
~基本数据类型的直接用“==”来比较两个值是否相等。
int a=3,b=3; boolean c=(a==b);
c=true;
三、变量
1、 ~类变量:是在类中以static为修饰符的成员变量
~ 实例变量:类中不以static为修饰符的成员变量
Class Student {
int a; //实例变量
static int b; //类变量
}
~类变量和实例变量的 特点:
1、类的对象之间共享类变量,实例变量是每个类私有的
2、类变量可通过类名.类变量名或对象名.类变量名来方法;实例变量只能通过对象名.实例变量名来访问;
2、final变量(常量)
~在类中变量以final作为修饰符的变量称为常量
如: final int MAX = 99;
~常量的特点:
1、常量名的所有字母必须大写
2、常量声明时必须初始化
3、常量只能被对象访问但不能改变它的值
四、方法:
~~类的方法:
~试图调用某个对象上不存在的方法,将给出编译错误提示信息。
~通过对象调用方式:
如:objectName.methodName(arg1,arg2,arg3,…); --objectName是对象名称
~形式参数:在方法被调用时用于接收外部传入的数据变量
~参数类型:形式参数的数据类型
~返回值:方法在执行完毕后返还给调用它的程序数据
~返回值类型:方法要返回的结果的数据类型
~实参:调用方法时实际传给方法形式参数的数据
1、类方法与实例方法:
~概念:方法声明中用static修饰的称为类方法,不用static修饰的称为实例方法
~ 类方法与实例方法的区别:
1、一个类中的方法可以相互调用,其中实例方法可以调用该类中的实例方法或类方法;但类方法只能调用该类中的类方法,而不能调用实例方法;
2、实例方法中可以调用所有的成员变量包括实例变量或类变量;但类方法只能操作类变量。
3、实例方法必须通过对象调用,而类方法可以直接通过类名调用。
2、方法的重载:
~方法的重载就是在同一个类中允许同时存在一个以上的同名方法,只要它们的参数个数或类型不同即可。
-每个重载的方法都必须有一个独一无二的参数类型列表。
3、构造器(构造方法):
~构造器:专门用来创建对象时调用的方法。
~构造器的特点:
1、具有与类相同的名称;
2、不含返回值;
3、不能在方法中用return语句返回一个值。
~作用: 为对象进行初始化(成员变量);
~无参数和有参数的构造方法:
4、构造方法的重载:
~构造器重载的两个要求:
1、符合构造器所拥有的特点:
-与类名相同
-且无返回值,也不能定义为void
-且不能用return返回值
2、符合方法重载所拥有的特点 :
-参数个数不同
-或参数类型不同
五、this的使用:
1、区分类成员变量和方法的形参.
2、this关键字通常用于return语句中返回当前对象的引用。
3、在构造方法中调用其它构造方法
六、包的定义:
1、包(package)的概念:一种将相关类及接口组织起来的集合体,既命名空间。
2、目的:
~避免重名冲突。
~实现访问权限控制。
3、声明方式:
~ package name;
- package 为声明包的关键字。
- name 为指定的包名。
- name 可以分层次,不同的层次用点号“.”分隔。
4、包命名的技巧:
5、包的引入-1:
6、包的引入-2:
7、包的引入-3:
相关文章
- 暂无相关文章
用户点评