*java与面向对象

 ~对象是JAVA程序的核心,在JAVA程序中“万事万物皆是对象”。
 ~对象可以看成是静态属性(成员变量)和动态属性(方法)的封装体。
 ~类是用来创建同一类型的对象的“模板”,在一个类中定义了该类对象所 应具有的成员变量以及方法。
 ~对象都有对外服务的接口--通过继承可以复用
 ~对象隐藏内部服务的实现--通过聚合可以复用
 ~组件--比对象更高的层次上的抽象
  EJB、WEB Service、Corba、Com。。。

*类的定义
类的定义主要有两方面组成-成员变量和方法。
 声明成员变量的格式:[<MODIFIERS>] TYPE <ATTRF_NAME>[=DEFAULTVALUE]
  例如:private int i;private int age=20;
 声明方法的格式为:[<MODIFIERS>]<MODIFIERS><RETURN_TYPE><NAME>([<ARGU_LIST>]){
  [<STATEMENTS>]
 }
  例如:public int getAge(){return age;}
成员变量
可以使JAVA语言中任何一种数据类型(基本类型和引用类型)。作用范围为整个类体。
     引用:除基本类型之外的变量类型都称之为引用类型,对象是通过引用对其操作的。
        例如:String s; //声明String类型的引用变量,但没使他指向对象。
           s=new String("Hello");//new 创建一个String类型的对象并用s指向它,以后可以通过s完成对其的操作。

方法
类似与其他语言的函数,是一段用来完成特定功能的代码片段。
 ~形参:在方法被调用时用于接收外界输入的数据。
 ~实参:调用方法时实际传给方法的数据。
 ~返回值:方法在执行完毕后返还给调用它的环境的数据。
 ~返回值类型:事先约定的返回值的数据类型,如无返回值,必须给出返回值类型void。
 ~return 终止方法的运行并指定要返回的数据。
 ~进行函数调用传递参数时,遵循值传递的原则:
  基本类型传递的是该数据本身。引用类型传递的是对对象的引用,而不是对象本身。
构造方法
构造函数是定义在JAVA类中的一个用来初始化对象的函数。
 ~与类同名没有返回值。
 例如:
    public class Person{
     int id;
     int age;
     Person(int n,int i){
      id=n;
      age=i;
     }
    }
    public class Test{
     public static viod main(String args[]){
      Person tom= new Person(1.25);
      Person john= new Person(2,27);
     }
    }
 ~当没有指定构造函数时,编译器为类自动添加形如 类名(){}的构造函数。
方法的重载

 ~指一个类中可以定义有相同的名字,但参数不同的多个方法。调用时,会根据不同的参数表选择对应得方法。
 ~构造方法也可以重载。

命名规则:

 ~类名首字母大写
 ~变量名和方法名的首字母小写
 ~运用驼峰标识。

*内存中区分类和对象:

  ~类是静态的概念,代码区
  ~对象是new出来的,位于堆内存,类的每个成员变量在不同的对象中都有不同的值(除了静态变量)而方法只有一份,执行的时候才占用内存。
*对象的创建和使用

 ~必须使用new关键字来创建对象。
 ~使用对象(引用).成员变量来引用对象的成员变量。
 ~使用对象(引用).方法(参数列表)来调用对象的方法。
 ~同一类的每个对象有不同的成员变量存储空间。
 ~同一类的每个对象共享该类的方法