当前位置:编程学习 > JSP >>

Java学习笔记之对象与类(1/3)

一、类

类(class)是构造对象的蓝图或模板。由类构造(construct)对象的过程就是创建类的实例(instance)的过程。

封装(encapsulation)是与类有关的一个重要概念。形式上来说,封装是把数据和行为组合在一个包中,并对对象的使用者隐藏了数据的实现方式。对象的数据称为实例域(instance field),操作数据的过程称为方法(method)。

继承(inheritance)使得Java中的一个类可以通过拓展另一个类而来。实际上,Java中所有的类都是继承了一个最原始的超类——Object。继承而来的新类具有基类的全部属性和方法。

二、对象

对象的三个主要特性:

1.行为(behavior)——对对象施加哪些操作或方法?
2.状态(state)——施加方法时,对象实例域如何变化?
3.标识(identity)——如何辨别具有相同行为和状态的不同对象?
三、类之间的关系

常见的有三种:

1.依赖(uses-a)—— 一个类的方法需要操纵另一个类的对象;
2.聚合(has-a)—— 一个类的对象包含另一个类的对象;
3.继承(is-a)—— 具有另一个类的全部属性和方法,拓展而来,并可以添加额外的功能。
四、自定义类

1. 类定义形式

 代码如下 复制代码
class example
{
      constructor1
      constructor2
      ...
      method1
      method2
      ...
      field1
      field2
      ...
}

例如:

 代码如下 复制代码
class Student
{
    //构造器
    public Student(String n,int num,int year,int month,int day)
    {
         name = n;
         number = num;
         GregorianCalendar calendar = new GregorianCalendar(year,month-1,day);
         birthday = calendar.getTime();
    }
    //方法
    public String getName()
    {
         return name;
    }
    public int getNumber()
    {
         return number;
    }
    public Date getBirthday()
    {
         return birthday;
    }
    //域
    private String name;
    private int number;
    private Date birthday;
}

2.  隐式参数和显式参数

 代码如下 复制代码
public void setNumber(int n)
{
    number = n;
}Student student = new Student("Jiankun Lei",136524,1991,1,1);
student.setNumber(1000);

//student为隐式参数,1000为显式参数隐式(implicit)参数,出现在方法名前的类对象;显式(explicit)参数是在方法名后括号中的参数。

3. 基于类的访问权限

记住:方法可以访问所调用对象的私有数据。也就是说一个类的方法可以访问所属类的所有对象的私有数据。

例如可以定义判断两个学生的equals的方法:

 代码如下 复制代码
boolean equals(Student other)
{
      return number.equals(other.number); //number是Student类的私有数据
}

4. final实例域

将类中的实例域定义为final。构造对象时必须初始化这样的域,构造后,不能再修改。

 代码如下 复制代码
class Student
{
      ...
      private final String name;
}

5. 静态域与静态方法

静态域:将域定义为static,每个类只能有一个这样的域。它属于类,不属于任何独立的对象。

 代码如下 复制代码
class Employee
{
      ...
      private int id;
      private static int nextId;
      ...
}public void setId()
{
      id = nextId;
      nextId++;
}

1 2 3
补充:Jsp教程,面向对象编程 
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,