Java之 类的简介 [成员变量和局部变量区别、方法的重载]

类和对象
类(class)是对一类事物的抽象描述。对象(object) 是某一类中一个或多个具体的事物,又可称为实例(instance)。
类是对一类事物的描述,是抽象的。 对象是一类事物的实例,是具体的。 类是对象的模板,对象是类的实体。
类包括事物的属性和行为。属性就是该事物的状态信息; 行为就是该事物能够做什么。

举个例子:小猫。
属性:名字、体重、年龄、颜色。
行为:走、跑、叫。
对象是一类事物的具体体现。对象是类的一个实例,必然具备该类事物的属性 和行为。
举个例子:现实中,一类事物的一个实例:一只小猫。
属性:dear、5kg、2 years、yellow。
行为:溜墙根走、蹦跶的跑、喵喵叫。

类的定义

class 类名    //类定义
{
   域定义;
   方法定义;
 }

数据类型 域名;//域定义

方法类型 方法名 (参数)//方法定义
{
   方法体    
 }

其中,①域(field),是对象的属性,可称成员变量。方法(method),就是C/C++中的函数,它是对象的行为,可称成员方法。
②若不给出域的初值,它也会被初始化,具体见前面的默认初始化。方法的参数都要单独说明数据类型。
③定义在方法中的变量是一般变量,也可称为局部变量。如果成员变量与方法中的局部变量同名,那么方法中只能访问到局部变量,也就是说在方法中局部变量覆盖成员变量。
④方法若是没有类型,写void 也不可以。而且方法名必须和类名一致。
举个例子:平面上的点

class Point
{
   int x,y;
   void move(int movex,int movey)
   {
      x+=movex;
      y+=movey;
   }
   void print()
   {
      printIn("("+x+","+y+")");
   }
 }

对象的声明和创建

类 对象;//声明
如 Point p1,p2;//上一个例子的延续

new 方法();//创建
如 p1=new Point();

Point p1=new Point();//同时声明和创建

对象的使用
对象名 . 域
对象名 . 方法名(参数),其中“. "是分量运算符。

方法的重载
所谓方法重载就是在一个作用域(如类)中定义多个重名的方法。方法重载之要求方法的名字相同且形参不同,与方法的修饰符和返回值类型无关。一般地,具有相似性质或功能地运算使用重载。

构造方法
创建对象时通过new调用类中的构造方法。如果类中没有构造方法,则不能创建对象。所以定义类时记得定义构造方法。在一个类中也可以定义多个构造方法,形成构造方法重载。
如果类中没有构造方法,Java编译器会自动生成一个默认的构造方法,这个构造方法没有参数,方法体也为空。

对前面的知识举个例子:(顺接前面的例子)

class Point
{
   int x,y;  
   Point (int x1,int y1)//构造方法重载
   {    
     x=x1;
    y=y1;
   } 
   Point ()//构造方法重载
  {
    x=0;
    y=0;
   } 
void move(int movex,int movey)
{
   x+=movex;
   y+=movey;
}
 void print()
 {
    printIn("("+x+","+y+")");
 }
 }
public static void main()
{ 
   Point p1;
   p1=new Point(5,5);
   Point p2=new Point();
   p1.print;
   p2.print;
   p1.move(6,6);
   p2.move(9,9);
   p1.print;
   p2.print;
}  

所以方法可以创建对象,也可以对对象初始化。

成员变量和局部变量区别
①在类中的位置不同!
成员变量:类中,方法外
局部变量:方法中或者方法声明上(形式参数)
②作用范围不一样!
成员变量:类中
局部变量:方法中
③初始化值的不同!
成员变量:有默认值
局部变量:没有默认值。必须先定义,赋值,最后使用
④在内存中的位置不同
成员变量:堆内存
局部变量:栈内存
⑤生命周期不同
成员变量:随着对象的创建而存在,随着对象的消失而消失
局部变量:随着方法的调用而存在,随着方法的调用完毕而消失

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值