类、对象和方法

来源:互联网 发布:python统计字符个数 编辑:程序博客网 时间:2024/05/01 06:52
1.类:类是一个定义对象形式的模板,它指定了数据以及操作数据的代码,java使用类的规范来构造对象,而对象是类的事例,类是一系列指定如何建造对象的计划,类是一个逻辑抽象。定义类的基本形式:
   class classname{
     //declare instance variables
     type var1;
     type var2;
     //...
     type varn;
   
     //declare methods
     type method1(parameters){
        //body of methods
      }
     //...
     type methodn(parameters){
        //body of methods
      }
   }
设计完好的类应该只定义惟一的逻辑实体,即只组织逻辑相关的信息,而将无关的信息放在同一个类中会很快破坏你的代码。
2.创建对象:例如:Vehicle minivan = new Vehicle();首先,它声明了一个名为minivan的类Vehicle类型的变量,该变量没有定义对象,它只是一个可以引用对象的简单变量;然后该声明创建了对象的一个实际的副本,并把对象的引用赋给了minivan,这是由new运算符完成的,new为对象动态分配内存,并返回一个对它的引用,在java中,必须动态分配所有的类对象;该声明也可以写为:Vehicle minivan; minivan=new Vehicle();则前者把Vehicle类型对象的引用声明为minivan,因此minivan是一个可以引用对象的变量,但本身不是对象,minivan包含了值NULL,该值意味着它不引用对象,而后者则创建了一个新的Vehicle对象,并把对它的引用赋给minivan,现在minivan就与一个对象连接在一起了。
3.引用变量和赋值是不同的:对赋值等号左边的变量接受等号右边变量的值的副本;而当把对象赋给其他变量时,则等号左右两边的变量引用的是同一对象,但两者是没有关系的,例如:Vehicle car1=new Vehicle();Vehicle car2=car1;则有car1和car2引用的是同一对象,既可以通过car1也可以通过car2来操作对象,但若再加上Vehicle car3=new Vehicle();car2=car3;则car2和car3引用同一个对象,由car1引用的对象是没有变化的。
4.方法:方法是操作类定义的数据,以及多数情况下提供对数据的访问的子例程,大多数情况下,程序的其他部分都是通过类的方法来与类进行交互的,方法的基本形式为:
  ret-type name(parameter-list){
    //body of method
  }
其中,ret-type指定了方法返回的数据类型,返回类型可以是任何有效类型,包含自己创建的类类型在内,如方法不返回值,则返回类型为void;参数是在调用方法时接收传递到方法的变元值的变量,如方法没有参数,参数表就为空。
5.引起方法返回的条件有两个:一是当遇到方法的闭花括号时,二是当执行return语句时;return两种形式:一种是在void方法时使用return;语句使方法中断执行,另一种是在返回值时,返回值可以简单的指示成功或者失败,也可以用return value;语句来返回值,返回值的优势是可以把返回值用于其他计算,方法返回值的重要在于方法返回数据类型必须与方法指定的返回类型相兼容。
6.使用方法时,可以向方法传递一个或多个值,向方法传递的值称为变元,在方法中接收变元的变量称为参数,参数声明在方法名后的圆括号中,参数声明语法与用于变量的语法是一样的,参数位于自己方法的作用域中,起着接收变元的特殊任务,工作方式与局部变量十分相似,一个方法可以有多个参数用逗号隔开,每个参数都指定了自己的类型,这些类型互不相同。
7.构造函数:用来在创建对象时初始化对象,名称与类名相同,在语法上与方法相似,但构造函数没有显式返回类型,构造函数可以用来为类定义的初值赋值,或执行其他创建完整对象所需要的启动过程,java自动提供默认的构造函数将所有成员变量初始化为0,一旦自己定义了构造函数,就不再使用默认的了,构造函数可以不带参数,也可以带参数。
8.new操作符及其垃圾回收:new基本形式为:class-var=new class-name();java的垃圾回收系统会自动回收对象,透明的在后台操作,无需程序员的干预,其工作方式为:当不存在对某对象的任何引用时,该对象就被认定为没有存在的必要了,那么其占用的内存就要被释放;垃圾回收只在程序执行过程中偶尔发生,只在存在有一个或多个不再使用的对象时才发生;有两个条件使其提高效率:有对象回收和需要回收;垃圾回收要占用时间,因此只在需要时才使用它,所以无法知道其发生的精确时间;有一个finalize()方法,它在对象最后被垃圾回收器销毁之前调用它,用于确保对象完全终止,为了向类添加一个终止器,只需定义一个finalize()方法即可;java运行是环境只要在回收该类的一个对象时,就会调用该方法,在finalize方法中,要指定在对象被销毁前必须执行的动作。 
原创粉丝点击