欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Java第三讲_Java类与对象,

来源: javaer 分享于  点击 49635 次 点评:278

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:
       

相关文章

    暂无相关文章
相关栏目:

用户点评