`
txf2004
  • 浏览: 6877742 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

类和对象

 
阅读更多

今天写第四章,是重点哦,面向对象的方法;类和对象;

类和对象是面向对象程序设计的核心。编写程序对一个问题的求解的过程可以看作是定义类和对象的过程。

类是模板,对象是实例;类是抽象的,对象是具体的。

对象:是构成系统的最基本的单位。

 属性:描述对象的静态特征

 行为:描述对象的动态特征

定义类的简单语法格式
[修饰符]class类名{
成员变量
构造方法
成员方法
}

[修饰符]可以是:[public][abstract|final]

定义成员变量:[修饰符]类型成员变量名[=初始值];

修饰符:publicprotectedprivatestaticfinal

成员变量名应是一个合法的标识符,并且应遵循编码惯例;

初始值:定义变量还可以定义一个可选的初始值。

成员方法的定义
修饰符返回值类型方法名([形式参数表]){
//方法体;
}

修饰符:publicprotectedprivatestaticabstractfinal

返回值类型:可以是Java语言的任何数据类型,如果声明了返回值类型,则方法体内必须有一个有效的return语句,该语句返回一个变量或表达式的值,变量或者表达式的类型必须与方法返回值类型匹配;如果一个方法没有返回值,则必须使用void来声明。

方法名:命名规则与变量名的命名规则基本相同,但通常建议方法名以英文中的动词开头。

构造方法:是类中的特殊的方法

构造方法的名称和类名相同;

构造方法没有返回值,不需void来声明;

当该类被实例化时,构造方法自动被调用。因此,构造函数的作用对类对象中的成员进行初始化。

默认构造:public类名(){}

构造方法的重载:当一个类有多个重载的构造方法时,创建该类对象的语句会根据给出的实际参数的个数、参数的类型、参数的顺序自动调用相应构造方法。

修饰符publicprotectedprivate类名(形参列表){

构造方法的方法体

}

publicclassCar{

publicStringname;//成员变量

publicStringcolor;//成员变量

publicCar(Stringname1,Stringcolor1)//构造方法

{

name=name1;color=color1;

}

publicvoidrun(Stringspeed)//其他方法

{

System.out.println(speed);

}

创建对象的根本途径是构造方法,通过new关键字来调用某个类的构造方法即可创建这个类的实例。

Carc=newCar("QQ","黄色");//给上面构造函数赋值;;

内存情况:

对象的使用格式:对象.成员变量对象.成员方法名([实参表]);//对象是主调者,用于访问该对象的变量或方法。

this的使用

Java提供了一个this关键字作为自身的引用,其作用就是在类的自身方法中引用该类自身。

publicclassCar{

publicStringnamecolor;

publicintoil;

publicCar(Stringname1,intgetOil){

this.name=name1; this.oil=getOil;//构造方法中的this就代表奔驰对象本身。

}

publicvoidrun(intspeed){

this.oil-=speed;System.out.println(speed);//run方法中的this就代表奔驰对象本身

}

}

publicclassTestCar{

publicstaticvoidmain(Stringargs[]){

Carc

c=newCar("奔驰600","黑色")

c.run("100km")

System.out.println(c.name)

}

}

在同一个类中,类的成员变量是不能重名的,但方法或语句块中的局部变量是可以和类的成员变量重名的,这时候必须使用this来限定和区分是否是类变量。

this调用语句必须是构造函数中的第一个可执行的语句。

方法:

使用static修饰方法

static修饰的方法属于这个类,因此即使没有创建该类的具体对象,类中用static修饰的方法也会存在。

类名.方法名([实参表]);

类是static方法的调用者类方法或静态方法

静态方法(类方法)属于类,或者说属于该类的所有对象所共有。因此,若创建了某个类的具体对象后,也可以通过对象名来调用类方法。对象名.静态方法名([参数表])

静态方法中不能使用this引用。

静态方法只能处理静态属性、调用静态方法。

不使用static修饰的方法属于该类的对象,不属于类。因此,方法必须使用对象做调用者:

方法不能独立定义,只能在类体里定义。

从逻辑意义上看,方法要么属于类,要么属于对象。因此,执行方法必须使用类或对象作为调用者。

同一个类中的方法相互调用时,如果被调用方法是普通方法,则默认使用this作为调用者,如果被调方法是静态方法,则默认使用类作为调用者。

方法未讲完,,,待续。。。。。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics