Java作为一门面向对象的语言,它支持很多的概念,例如:封装,多态,继承,类,对象等等。这篇文章里主要讲的是对象与类。
类比较好理解,可以与”种类“,”类别“等概念联系起来理解。它一种描述那一类对象的行为或状态的模板,因此一个类可以有很多对象。对于类的描述,在《巴郎AP计算机A》中是这样说的:“A class is a software blueprint for implementing objects of given type.”大体意思是类是实现一种对象的一个软件蓝图。这里则可以将其作为分类或归类来理解。
对象是类的一个实例,它有特定的行为与状态。举个例子。一只狗是一个对象,他的行为有吃饭,睡觉,吠叫,它的状态有颜色,名字,品种。 在《巴郎AP计算机A》中对对象是这样描述的:”Every program that you write involves at least one thing that is being created or manipulated by the program. This thing, together with the operations that manipulate it, is called an object.” 这段话大体意思就是说,每个程序中都至少包含着一个程序被程序所创造或操纵的东西,这个东西本身与操纵它的操作并称为对象。在这里,我们可以将操纵他的方法理解为他的行为,这个东西本身则包含了它的状态(属性)。
下面是一个类的实例:
public class Cat{
String breed;
String color;
int age;
void walking(){
}
void sleeping(){
}
}
一个类中可以包含以下类型的变量
1. 局部变量 :在方法,构造方法或语句块中被定义的变量被称为局部变量。声明变量与初始化都在方法中。方法结束后变量自动销毁。
2. 成员变量 :成员变量是定义在类中,方法之外的变量。这种变量在创建对象时实例化。成员变量可以被类中方法,构造方法和特定语句块访问。
3. 类变量 :类变量也声明在类中,方法体之外,但是必须声明为static类型。
#一个类可以有多个方法,上图的walking(),sleeping() 都是Cat类的方法。
每个类都含有构造方法,如果没有显性的定义构造方法,编译器会为该类提供一个默认的构造方法。在创建对象时至少需要调用一个构造方法,它的名字必须与类名一致。一个类可以有多个构造方法。下面是一个构造方法的示例。
public class Cat{
public Cat(){
}
public Cat(String breed){
}
}
# 在这个例程中,breed的是构造器的唯一参数。
对象是根据类来创建的,创建对象所使用的关键词为“new”。创建对象的步骤为以下三步:
1. 声明 :声明对象的名称与类型。
2. 实例化 :使用关键字new创造对象。
3. 初始化 :在创建对象过后调用构造方法初始化对象。
下面是一个关于创建对象的例子:
public class Puppy{
public Puppy(String name){
//这个构造器仅有一个参数:name
System.out.println("小狗的名字是 : " + name );
}
public static void main(String []args){
// 下面的语句将创建一个Puppy对象
Puppy myPuppy = new Puppy( "tommy" );
}
}
该程序的输出结果为:
小狗的名字是 : tommy
我们可以通过已创建的对象来访问成员变量及成员方法,具体方法如下:
/* 实例化对象 */
Classname ObjectReference = new Constructor();
/* 访问类中的变量 */
ObjectReference.variableName;
/* 访问类中的方法 */
ObjectReference.MethodName();
在本篇文章的最后,这个例子展示了如何创建对象,访问成员变量与方法。
public class Workers{
int workerAge;
public Workers(String name){
// 这个构造器仅有一个参数:name
System.out.println("员工的名字是 : " + name );
}
public void setAge( int age ){
workerAge = age;
}
public int getAge( ){
System.out.println("员工的年龄为 : " + workerAge );
return workerAge;
}
public static void main(String []args){
/* 创建对象 */
Workers workers = new Workers( "Jack" );
/* 通过方法来设定age */
workers.setAge( 20 );
/* 调用另一个方法获取age */
workers.getAge( );
/*你也可以像下面这样访问成员变量 */
System.out.println("变量值 : " + workers.workerAge );
}
}
员工的名字是 : Jack
员工的年龄为 : 20
变量值 : 20
# 谢谢观看,侵删。