*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关键字来创建对象。
~使用对象(引用).成员变量来引用对象的成员变量。
~使用对象(引用).方法(参数列表)来调用对象的方法。
~同一类的每个对象有不同的成员变量存储空间。
~同一类的每个对象共享该类的方法