欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

从零开始学java(十二)--为对象定义类

程序员文章站 2022-05-28 13:10:28
...

从零开始学java(十二)--为对象定义类

  • 对象的状态,也称为特征或属性,是由具有当前值的数据域来表示的。如,员工对象具有数据域name和age,标识员工的属性。
  • 对象的行为,也称为动作,是由方法定义的。调用对象的一个方法就是要求对象完成一个动作。如,可以为矩形对象定义一个名为getArea()方法返回矩形的面积。

类是组成java程序的基本要素,封装了一类对象的状态和行为,是这一类对象的原形。定义一个新的类,就创建了一种数据类型;实例化一个类就得到一个对象

类的定义

一个类的定义包括两个部分:类声明和类体的定义。

类声明

类声明的一般格式为:

[public][abstract|final] class ClassName [extends SuperClass]
		[implements InterfaceNameList]{
		//1.成员变量声明
		//2.构造方法定义
		//3.成员方法定义
}
  1. 类的修饰符

类的访问修饰符(控制类的访问与被访问权限)可以是public或缺省(即默认)。public表示类是公共类,可悲任何包中的类使用。若不加public修饰符,类只能被同一个包(package)中的其他类使用。abstract抽象类,final最终类。

  1. extends SuperClass

如果一个类要继承某个类需要使用extends,SuperClass为父类名。如果没有指明,默认继承Object类。

  • Java在java.lang包中有一个Object类。
  • 所有Java类都直接或间接扩展Object类。
  • 所有Java类都是Object类的子类Object类是所有类的超类。
  • Object类本身没有超类。
  • Object类的引用变量可以保存任何类的对象的引用。
  1. implements InterfaceNameList

如果定义的类需要实现接口,则使用implements InterfaceNameList选项。一个类可以实现多个接口,实现多个接口时需要用都靠分开。

  1. 类体

类生命结束后是一对大括号,大括号括起来的部分称为类体(class body)。类体中通常包含三部分内容:构造方法(创建类实例,创建对象并初始化对象状态),成员变量(定义对象状态)和成员方法(定义对象行为)。

public class Employee{
	public String name ;//成员变量
	public int age;//成员变量
	public double salary ;//成员变量
	
	public Employee{
	}//无参数构造方法
	
	public void sayHello()//成员方法
	{
		System.out.println("My name is " + name);
	}
	
	public double computeSalary(int hours,double rate)//成员方法
	{
		salar = salary + hours * rate;
		return salary;
	}
}

成员变量的定义

成员变量的声明格式为:

[public | protected | private | ][static][final]③  type  variableName [=value] ; 

说明:

  1. 变量的访问修饰符①

public:公共变量可以被任何方法访问;
protected:保护变量,可以被同一包中的类或子类访问;
private:私有变量,只能被同一个类的方法访问
无修饰符:变量只能被同一个包中的类访问

  1. 实例变量和静态变量②

static修饰,则该变量称为静态变量,又称为类变量.没有static修饰的为实例变量.

  1. 最终变量(标识符常量)③

使用final修饰的变量称为最终变量(标识符常量),常量可以在声明的时候赋值,一旦赋值便不可更改.

构造方法的定义

构造方法也叫构造器,是类的一种特殊方法.
Java中的每个类都有构造方法,其作用是创建对象并初始化对象的状态.

成员方法的定义

成员方法用来实现对象的动态特征.
成员方法的定义包括方法的声明和方法体的定义,一般格式如下:

//成员方法的定义包括方法的声明和方法体的定义
[public | protected | private | ] 
[static]  [final | abstract]  
returnType  methodName ( [ pparamList ] ) 
{  
/*方法体*/
} ; 

说明:

  1. 方法的返回值

返回值的类型可以是任何数据类型,包括基本数据类型和引用数据类型.若一个方法没有返回值,那么returnType应为全局变量.

  1. 方法参数

方法名的后面是一对括号,括号内是方法的参数列表.
声明格式为:
type paramName1 [,type paramName2]

  1. 访问修饰符

protected:可以在同一个类,同一个包中的类一级子类中被调用.
缺省访问修饰符,可以同一个类的方法访问和同一个包中的类访问.

  1. 实例方法和静态方法

无static→实例;有static→静态

  1. final和abstract方法

final修饰的方法为最终方法,不可被覆盖,方法的覆盖与继承有关系.
abstract:抽象方法.