一. 理解类与对象
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;
}
分享到:
相关推荐
- **类定义**: C++中用来描述一类对象的共同特征和行为的概念。它是一个抽象数据类型,包含了数据成员和成员函数。 - **成员函数**: 定义在类中的函数,用于实现类的行为。 - **数据成员**: 定义在类中的变量,用于...
JAVA类与对象及数组习题 JAVA类和对象及数组是JAVA编程语言的基础概念。下面是关于JAVA类和对象及数组的习题,涵盖了构造方法、继承、多重继承、变量声明、数组初始化等方面的知识点。 1. 构造方法的调用方式: ...
在本实验"3类与对象基础实验(一)"中,我们主要探讨的是Java编程语言中的核心概念——类和对象。这个实验是针对浙江大学城市学院2009级学生的,旨在帮助他们深入理解和掌握面向对象编程的基础。 首先,我们要了解...
类是创建对象的根源,它定义了同一类对象共有的属性和方法。类中的属性(Attribute)可以理解为对象所拥有的变量,而方法(Method)则是对象可以执行的操作或行为。 对象(Object)是类的实例(Instance),是具有...
本章的"【第5章:面向对象基础】_面向对象、类与对象的定义"将详细讲解面向对象编程的核心概念,包括如何定义类、创建对象,以及如何利用继承和多态性设计高效的程序。通过学习,你将能更好地理解和应用Java的面向...
面向对象程序设计是一种主流的编程范式,它以类与对象为基础,强调以对象为程序设计的核心。Java语言是面向对象的,其三大基本特征分别是封装、继承和多态。封装是将数据(属性)和代码(行为)绑定到一起,形成一个...
C#是一种面向对象的编程语言,其核心概念之一就是类与对象之间的关系。类是对象的模板或蓝图,它定义了创建对象的属性和方法。对象则是类的具体实例,是实际存在的实体。 在C#中,创建类意味着定义了一组属性和方法...
c++类与对象实习举例。
面向对象编程(OOP)是一种编程思想,它将复杂的信息对象化,将现实的关系抽象化装化成类,通过封装、继承、多态等方式进行处理。在OOP中,类和对象是两个基本概念。 类(Class)是一种引用数据类型,是对一类事物...
讲述了C++中的类与对象的基本概念
c++ 习题 4类与对象.doc (选择 解答 填空)
"java类与对象实例" 在 Java 中,类和对象是两个紧密相连的概念。类是一种蓝图,用于创建对象,而对象是类的一个实例。类描述了对象的基本结构,包括属性、方法和事件等。类设计的关键概念包括封装、继承和多态。 ...
在编程世界里,类与对象是面向对象编程(OOP)的核心概念,它们为我们提供了抽象、封装、继承和多态等重要特性。本教程“类与对象的分析与设计”将深入探讨如何从实际问题中抽离出这些概念,以便进行高效、结构化的...
常对象(Const Object)是指声明为const的类对象,它的成员函数不能修改数据成员。常成员函数(Const Member Function)是在类定义中声明为const的函数,它承诺不修改对象的状态。 最后,对象在内存中的分布情况...
在Java编程语言中,"类与对象教学(1)"是一个重要的学习主题,它涵盖了面向对象编程的基本概念,对比了面向对象编程(OOP)与面向过程编程(POP),并深入探讨了类、对象以及如何在实际开发中创建和使用它们。...
### Java类与对象详解 #### 一、面向对象编程的核心理念 面向对象编程(OOP)是一种编程范式,其核心在于将现实世界中的事物抽象为计算机中的对象,通过对象来模拟和处理复杂的问题。这一理念源于试图让编程更加...
开篇对比面向对象与面向过程编程思想,阐述前者优势。接着深入剖析类的定义、成员、修饰符,介绍对象创建方式、内存分配及生命周期。随后探究类与对象关系,详解封装、继承、多态等高级特性。最后回顾知识,建议通过...
在编程世界中,类与对象是面向对象编程(OOP)的核心概念。面向对象编程是一种设计和实现软件的方法,它基于“对象”的概念,而这些对象则是类的实例。类可以看作是创建对象的蓝图,它定义了对象的数据属性和行为。...
【Java程序设计】类与对象是Java编程的核心概念,它们是面向对象编程的基础。类是对具有相似属性和行为的事物的抽象,而对象是类的实例,代表着具体存在的个体。 在【描述】中,该教案是为了2021年的高校教师资格证...