`
iRoger
  • 浏览: 28805 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

类与对象

    博客分类:
  • J2SE
阅读更多
一. 理解类与对象
1. 类与对象
1.)什么是类?类的定义?
答:简而言之,类就是创建对象的模板。把可以生成对象的框架称做类,把特定的
值赋给它的属性,就可以创建出具体的对象。
类体定义的一般格式:
  
class className
  {   [public | protected | private ] [static] 
     [final] [transient] [volatile] type
     variableName;            //成员变量
     [public | protected | private ] [static]
     [final | abstract] [native] [synchronized]
     returnType methodName([paramList])
     [throws exceptionList]
     {statements} //成员方法
  }

2.)什么是对象?对象的创建和销毁?
答:对象(Object)是指具有属性和动作的实体。对象封装了一个客观实体的属
性与行为。
对象的创建:
创建对象必须首先有类,假设我们已经定义好了一个Man类,然后创建Man类的对象,在创建对象前,我们先给对象起个名字(命名),下面就是命名对象名为man1;
Man  man1;
现在man1只是一个对象的名字而不是一个对象。
有了对象的名字之后,下一步就实实在在地生成一个对象了,尽量使用“创建”来代替“生成”二字。创建对象的代码如下:
man1 = new  Man();
在这行代码中,new是“新建”的意思,整条语句的含义就是创建新的Man的对象。创建一个对象页需要一个行为动作,我们将这个行为动作称为构造函数,上面代码中的Man()就是构造函数。
若将声明对象(对象命名)与创建对象可以同时进行,其代码如下:
Man  man1 = new  Man();
对象销毁是指对象释放内存,从内存中清除。
3.)什么是引用?
答:我们将对象名称称为引用(变量)。因为引用代表对象,所以也可以把引用称
为对象。

2. 成员方法,方法的定义格式
将类的行为动作称做类的成员方法(Member Method)或成员函数。
1.)无参方法?多参方法?
答:无参方法是指形式参数为空,即没有形式参数的方法。
多参方法是指多个形式参数的方法,这多个形式参数之间使用逗号分隔。
2. )方法声明的一般性语法:
<method modifiers><return type><method name>(<formal parameter list>)
				<throws clause>// method prototype
	{	//  Method  body
	<local variable declarations>
	<nested local class declarations>
	<statements>
}

3. 局部变量和成员变量
答:我们通常将类的属性称作类的成员变量(Member Variable)或域(Field)。局部变量在方法内部声明,并且也只能在方法内部使用。局部变量在外层的方法被调用时被分配内存,并且在方法执行完毕后自动释放内存而消亡。方法中的形式参数就是局部变量的一种。
在使用局部变量之前,必须首先对其进行初始化。初始化就是指在声明它们的同时就给他们赋值。
4. 静态变量和静态方法
答:静态成员变量在不创建类的对象的情况下,也可以使用,它是所有对象共有的变量。普通成员变量只有在创建可类的对象后才能被使用。与此相反,静态变量可以不先创建对象而直接使用。静态方法的使用方式与之相同。
5. 成员与静态方法的关系
答:只有在对象存在的条件下,我们才可以使用成员变量和成员方法。然而,静态方法则不需要首先创建对象,可以直接调用它。
6. 访问控制符
答:java语言中有四种不同的访问限制符,提供了四种不同的访问权限。

  1) private
  类中限定为private的成员,只能被这个类本身访问。
  如果一个类的构造方法声明为private,则其它类不能生成该类的一个实例。
  2) default
  类中不加任何访问权限限定的成员属于缺省的(default)访问状态,可以被这个类本身和同一个包中的类所访问。
  3) protected
  类中限定为protected的成员,可以被这个类本身、它的子类(包括同一个包中以及不同包中的子类)和同一个包中的所有其他的类访问。
  4) public
  类中限定为public的成员,可以被所有的类访问。
java中类的限定词的作用范围比较
    同一个类 同一个包 不同包的子类 不同包非子类
    private *
    default * *
    protected * * *
    public * * * *

7. 什么是重载?
答:重载(overload)是指在同一个类中定义多个同名但内容不同的成员方法。
方法名相同,但是他们的形式参数的个数及数据类型都不同。我们把这称为方法的重载。返回值类型相不相同无关紧要。
8. 什么是构造函数?
答:Java使用一种称为构造函数的特殊函数来创建对象,并在创建它们时对它们进行 不同的初始化,从而生成不同的对象。
构造函数的名字与类名一致,它没有任何返回值,并且其前也不允许有void关键字。
9. 类的初始化?
答:对类的成员变量进行初始化,即在定义类的同时给成员变量赋值,也可以说是在定义类的同时初始化成员变量。
public  class  Sayhello{
int  a=10;
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics