您的位置:

java类的定义,java类的定义和使用示例

本文目录一览:

在Java中具体讲解什么叫做类

嗨 你好啊

类可解为以下:

类(Class)实际上是对某种类型的对象定义变量和方法的原型。它表示对现实生活中一类具有共同特征的事物的抽象,是面向对象编程的基础。

类是对某个对象的定义。它包含有关对象动作方式的信息,包括它的名称、方法、属性和事件。实际上它本身并不是对象,因为它不存在于内存中。当引用类的代码运行时,类的一个新的实例,即对象,就在内存中创建了。虽然只有一个类,但能从这个类在内存中创建多个相同类型的对象。类通过接口与外界发生关系。

可以把类看作“理论上”的对象,也就是说,它为对象提供蓝图,但在内存中并不存在。从这个蓝图可以创建任何数量的对象。从类创建的所有对象都有相同的成员:属性、方法和事件。但是,每个对象都象一个独立的实体一样动作。例如,一个对象的属性可以设置成与同类型的其他对象不同的值。

希望可以给你在学习Java的路上带来力所能及的帮助

Java类的定义

package java.lancs ;

/**

* Graphics objects for practical classes (Java 1.1 version)

* @author Roger Garside/Richard Cardoe

* @version Last Rewritten: 24/Sept/97

*/

import java.awt.* ;

import java.awt.event.* ;

/*

* class to hold details about the shape to draw

*/

class BasicShape

{

// name of the shape - RECTANGLE, OVAL, etc.

int shape ;

// dimensions of the shape

int x, y, w, h ;

// colour of the shape

Color colour ;

// constructor to initialise the variables to default values

public BasicShape()

{

shape = -1 ;

x = -1 ;

y = -1 ;

w = -1 ;

h = -1 ;

colour = Color.green ;

} // end of constructor method

// constructor to initialise the variables to specifier values

public BasicShape(int sh, int x1, int y1, int w1, int h1, Color col)

{

shape = sh ;

x = x1 ;

y = y1 ;

w = w1 ;

h = h1 ;

colour = col ;

} // end of constructor method

} // end of class BasicShape

/*

* a canvas to draw on

*/

class BasicCanvas extends Canvas

{

BasicGraphics parent ;

// constructor method

public BasicCanvas(BasicGraphics p)

{

parent = p ;

} // end of constructor method

// called when class is initialised to put window on the screen

// or when window needs to be redrawn

public void paint(Graphics g)

{

Dimension d = getSize() ;

int cx = d.width / 2,

cy = d.height /2 ;

g.setColor(Color.black) ;

g.drawRect(1, 1, d.width - 3, d.height - 3) ;

int yy = 25 ;

while (yy d.height)

{

if (yy % 100 == 0)

{

g.drawLine(1, yy, 11, yy) ;

g.drawLine(d.width - 13, yy, d.width - 3, yy) ;

}

else

{

g.drawLine(1, yy, 6, yy) ;

g.drawLine(d.width - 8, yy, d.width - 3, yy) ;

}

yy += 25 ;

}

int xx = 25 ;

while (xx d.width)

{

if (xx % 100 == 0)

{

g.drawLine(xx, 1, xx, 11) ;

g.drawLine(xx, d.height - 13, xx, d.height - 3) ;

}

else

{

g.drawLine(xx, 1, xx, 6) ;

g.drawLine(xx, d.height - 8, xx, d.height - 3) ;

}

xx += 25 ;

}

for (int i = 0 ; i parent.noOfShapes ; i++)

{

g.setColor(parent.shapeList[i].colour) ;

if (parent.shapeList[i].shape == BasicGraphics.RECTANGLE)

{

g.drawRect(parent.shapeList[i].x, parent.shapeList[i].y,

parent.shapeList[i].w, parent.shapeList[i].h) ;

}

else if (parent.shapeList[i].shape == BasicGraphics.FILLED_RECTANGLE)

{

g.fillRect(parent.shapeList[i].x, parent.shapeList[i].y,

parent.shapeList[i].w, parent.shapeList[i].h) ;

}

else if (parent.shapeList[i].shape == BasicGraphics.OVAL)

{

g.drawOval(parent.shapeList[i].x, parent.shapeList[i].y,

parent.shapeList[i].w, parent.shapeList[i].h) ;

}

else if (parent.shapeList[i].shape == BasicGraphics.FILLED_OVAL)

{

g.fillOval(parent.shapeList[i].x, parent.shapeList[i].y,

parent.shapeList[i].w, parent.shapeList[i].h) ;

}

else if ((parent.shapeList[i].shape == BasicGraphics.TRIANGLE) ||

(parent.shapeList[i].shape == BasicGraphics.FILLED_TRIANGLE))

{

int x1 = parent.shapeList[i].x ;

int y1 = parent.shapeList[i].y ;

int w1 = parent.shapeList[i].w ;

int h1 = parent.shapeList[i].h ;

Polygon p = new Polygon() ;

p.addPoint(x1, y1 + h1) ;

p.addPoint(x1 + w1, y1 + h1) ;

p.addPoint(x1 + (w1 / 2), y1) ;

p.addPoint(x1, y1 + h1) ;

if (parent.shapeList[i].shape == BasicGraphics.TRIANGLE)

g.drawPolygon(p) ;

else

g.fillPolygon(p) ;

}

}

} // end of method paint

} // end of class BasicCanvas

/*

* class to draw simple shapes in a window

*/

public class BasicGraphics extends Frame implements ActionListener

{

// maximum width of window

private static final int MAX_WIDTH = 600 ;

// maximum height of window

private static final int MAX_HEIGHT = 400 ;

/**

* definition of a rectangle shape

*/

public static final int RECTANGLE = 1 ;

/**

* definition of an oval shape

*/

public static final int OVAL = 2 ;

/**

* definition of a triangle shape

*/

public static final int TRIANGLE = 3 ;

/**

* definition of a filled-in rectangle

*/

public static final int FILLED_RECTANGLE = 4 ;

/**

* definition of a filled-in oval

*/

public static final int FILLED_OVAL = 5 ;

/**

* definition of a filled-in triangle

*/

public static final int FILLED_TRIANGLE = 6 ;

BasicShape[] shapeList = new BasicShape[50];

int noOfShapes = 0;

private BasicShape newShape = new BasicShape();

private Button quit ;

/**

* constructor to lay out the window

*/

public BasicGraphics()

{

setTitle("BasicGraphics Window") ;

setSize(MAX_WIDTH, MAX_HEIGHT + 50) ;

BasicCanvas c = new BasicCanvas(this) ;

add("Center", c) ;

Panel p = new Panel() ;

p.setLayout(new FlowLayout()) ;

quit = new Button("Quit") ;

p.add(quit) ;

quit.addActionListener(this) ;

add("South", p) ;

} // end of constructor method

/**

* handles button depression events, etc.

*/

public void actionPerformed(ActionEvent event)

{

dispose() ;

System.exit(0) ;

} // end of method actionPerformed

/**

* set the type of shape that you want to draw

* @param shape e.g. BasicGraphics.RECTANGLE

*/

public void setShape(int shape)

{

if ((shape != RECTANGLE) (shape != FILLED_RECTANGLE)

(shape != OVAL) (shape != FILLED_OVAL)

(shape != TRIANGLE) (shape != FILLED_TRIANGLE))

{

System.err.println("This is not a valid shape");

System.exit(1);

}

newShape.shape = shape ;

} // end of method setShape

/**

* set the dimensions of the shape that you want to draw

* @param x x-coordinate of the top left hand corner of the bounding

* rectangle

* @param y y-coordinate of the top left hand corner of the bounding

* rectangle

* @param w width of the bounding rectangle

* @param h height of the bounding rectangle

*/

public void setDimensions(int x, int y, int w, int h)

{

if (newShape.shape == -1)

{

System.err.println("You need to set the shape first");

System.exit(1);

}

if ((x 5) || (y 5) || (w 5) || (h 5) ||

(x + w MAX_WIDTH - 5) || (y + h MAX_HEIGHT - 5))

{

System.err.println("Invalid dimensions supplied") ;

System.exit(1);

}

newShape.x = x ;

newShape.y = y ;

newShape.w = w ;

newShape.h = h ;

} // end of method setDimensions

/**

* set the colour of the shape that you want to draw

* @param colour the Color type (Color.red, Color.blue, etc.)

*/

public void setColour(Color colour)

{

if (newShape.x == -1)

{

System.err.println("You need to set the dimensions first");

System.exit(1);

}

newShape.colour = colour ;

shapeList[noOfShapes] = new BasicShape(newShape.shape,

newShape.x, newShape.y,

newShape.w, newShape.h,

newShape.colour) ;

noOfShapes++ ;

newShape = new BasicShape() ;

} // end of method setColour

/**

* draws the window on the screen with the specified shapes

*/

public void draw()

{

setVisible(true) ;

} // end of method draw

} // end of class BasicGraphics

java 定义类 如何写?

类是一种引用数据类型。类为对象的模板,简单的说就是分类。

类的定义包括“成员变量”的定义和“方法”的定义,其中“成员变量”用于描述一类对象共同的数据结构。在Java语言中,类的成员变量的定义可以使用如下语法:

class 类名 {

成员变量类型变量名称;

………

}

类是用class关键字来定义的一种抽象数据类型,类不但定义了抽象数据类型的组成(成员变量),同时还定义了对该类型可以实施的操作(方法),类名的首字母必须大写。看如下代码定义了雇员类:

/** 定义雇员类 */

public class Emp{

String name;

int age;

char gender;

double salary;

}

在如上的实例代码中,仅仅定义了Emp类型的组成,即成员变量。该类定义了4个成员变量:String类型的name用于存放名字;int类型的age用于存放年龄;char类型的gender用于存放性别;double类型的salary用于存放工资。