/*
Java是面向对象的程序设计语言.
面向对象的思想是将客观事物都作为实体,而对象通过实体抽象得到.
所谓实体抽象,就是对实体的某些特征进行概括,使其数字化、符号化;比如:李四同学,就是一个实体,我们关心他的这些特征:姓名、性别、年龄、身高、体重等特征,就会有李四、男、21、178、60等抽象的符号、数字表示.
Java程序的做法是先构造、定义一个类,然后根据类来创建一个具体的对象.
下面我们来看一个具体的例子:输出半径为10的圆的面积
分析:半径为10的圆是一个对象,我们能够具体表示的出来,他是一个实体
按照Java的做法,我们先构造、定义一个类----圆,
所有的半径为x的圆,我们统称圆,要求出一个圆的面积值需要知道该圆的半径就行.
我们这样来构造类:
类圆{数据 半径
先给半径一个值
然后做面积的计算工作
}
其中,给类的数据--半径 赋值,在Java程序中是通过构造方法来完成的.
构造方法的特征是方法名和类名相同,没有返回值.
面积的计算工作,是一个功能,功能在Java程序中使用方法来实现,所以方法,也可称为功能.
有了类----圆,我们就可以根据这个类来创建一个半径为10的圆,称为对象.
具体实现过程,看下面的Java程序
记忆:教程69页构造方法的概念及其特点
课下阅读第5章 这是本课程的重点内容
*/
class Circle //定义一个类,类名为Circle----圆{//类开始
double radius; //定义类的数据成员-----成员变量
Circle(double r) //定义类的构造方法
{
radius = r; //将参数r的值,赋值给成员变量radius
}
double calArea() //定义一个方法,方法名为calArea,返回值为double型{double s; //定义一个double型的变量s
s = Math.PI*radius*radius; //先计算圆的面积,然后将面积值保存给变量中
return s; //结束该方法的运行,返回变量s的值
}
} //类结束
public class Java_1
{
public static void main( String args[] ) //Java应用程序执行的入口
{
Circle circleOne=new Circle(10); //声明一个Circle类的对象circleOne
//该圆的半径为10
System.out.println("圆的面积值为"+circleOne.calArea()); //输出:圆的面积值为
//调用对象circleOne的calArea()方法取得面积值
}
}
/*
有Java_1可以知道,类是变量和方法的集合体.
类是Java程序中基本的结构单位.
对象是通过对类实例化得到的.
面向对象程序设计,一个非常重要的特点是代码的重用,这一点的实现是通过继承来做到的.
比如,输出底面半径为10,高为10的圆柱体的体积
要完成这个工作,我们就想到了圆柱体的体积公式:底面积*高,圆柱体的底面积不就是圆的面积吗,
对于圆面积的计算,我们已经定义了一个类Circle,新的工作如果可以借用前面的工作,不就省时省力了.定义新的类
类 圆柱体
{
新增数据 高
给上一级(super)圆的半径赋值,给新增数据--高 赋值
然后作计算圆柱体的体积的工作
{
调用上一级圆面积的计算工作*高}}具体Java实现过程,看下面的程序
*/
//
public class Java_2
{
public static void main( String args[] )
{
Cylinder cy=new Cylinder(10,20); //声明一个Cylinder类的对象cy
//该圆柱体的底面半径为10,高为20
System.out.println("圆柱体的体积值为"+cy.calVolume()); //输出圆柱体的体积值
//调用对象cy的calVolume()方法取得体积值
}
}
//原来写好的类定义代码----复制过来就行
class Circle //定义一个类,类名为Circle----圆{//类开始
double radius; //定义类的数据成员-----成员变量
Circle(double r) //定义类的构造方法
{
radius = r; //将参数r的值,赋值给成员变量radius
}
double calArea() //定义一个方法,方法名为calArea,返回值为double型{double s; //定义一个double型的变量s
s = Math.PI*radius*radius; //先计算圆的面积,然后将面积值保存给变量中
return s; //结束该方法的运行,返回变量s的值
}
}
//新定义的类,它继承了类 Circle的数据和方法
class Cylinder extends Circle
{
double hight; //新增double型变量 hight
Cylinder(double r,double h) //构造方法,接受底面半径和圆柱体高的值
{
super(r); //给上一级(super)圆的半径赋值
hight = h; //给新增数据--高 赋值
}
double calVolume() //定义计算体积的方法,方法名为calVolume,返回值类型为double
{
double v; //声明一个double型变量v,用来保存体积值
v=hight * super.calArea(); //高*上一级的面积计算值 得到 体积值,赋值给变量v
return v; //返回体积值
}
}
//阅读运行下面的程序,这是2006年4月的一个上机考试题,它一共出现在7套题目中.
//假定你是出题的老师,请将该程序编制成6道填空题
//Java_3 到Java_8
//先记录该程序,然后把Java_3 到Java_8都改成填空题,最好有3到5个空,最后来填空完成它
//this的含义:当前这个类的对象
//注意:Exit按钮的功能---结束程序运行
import java.awt.*;
import java.awt.event.*;
public class Java_3 implements ActionListener,WindowListener
{
Frame f;
Button be,bw,bs,bn,bc;
public void create()
{
f=new Frame("Exit test");
be=new Button("East");
bw=new Button("West");
bs=new Button("South");
bn=new Button("North");
bc=new Button("Exit");
f.add(be,"East");
f.add(bw,"West");
f.add(bs,"South");
f.add(bn,"North");
f.add(bc,"Center");
bc.addActionListener(this); //为按钮注册监听器
f.addWindowListener(this); //为按钮注册监听器
f.setSize(200,200);
f.setVisible(true);
}
public static void main(String args[])
{
Java_3 fa=new Java_3();
fa.create();
}
public void actionPerformed(ActionEvent e)
{
System.exit(0); //关闭窗口并使程序正常结束
};
public void windowOpened(WindowEvent e){}
public void windowClosing(WindowEvent e)
{
System.exit(0); //关闭窗口并使程序正常结束
};
public void windowClosed(WindowEvent e){}
public void windowIconified(WindowEvent e){}
public void windowDeiconified(WindowEvent e){}
public void windowActivated(WindowEvent e){}
public void windowDeactivated(WindowEvent e){}
}
//阅读运行下面的程序,这是2006年4月的一个上机考试题,它一共出现在7套题目中.
//假定你是出题的老师,请将该程序编制成6道填空题
import java.awt.*;
import java.awt.event.*;
public class Java_4 implements ActionListener,WindowListener
{
Frame f;
Button be,bw,bs,bn,bc;
public void create()
{
f=new Frame("Exit test");
be=new Button("East");
bw=new Button("West");
bs=new Button("South");
bn=new Button("North");
bc=new Button("Exit");
f.add(be,"East");
f.add(bw,"West");
f.add(bs,"South");
f.add(bn,"North");
f.add(bc,"Center");
bc.addActionListener(this); //为按钮注册监听器
f.addWindowListener(this); //为按钮注册监听器
f.setSize(200,200);
f.setVisible(true);
}
public static void main(String args[])
{
Java_3 fa=new Java_3();
fa.create();
}
public void actionPerformed(ActionEvent e)
{
System.exit(0); //关闭窗口并使程序正常结束
};
public void windowOpened(WindowEvent e){}
public void windowClosing(WindowEvent e)
{
System.exit(0); //关闭窗口并使程序正常结束
};
public void windowClosed(WindowEvent e){}
public void windowIconified(WindowEvent e){}
public void windowDeiconified(WindowEvent e){}
public void windowActivated(WindowEvent e){}
public void windowDeactivated(WindowEvent e){}
}
//阅读运行下面的程序,这是2006年4月的一个上机考试题,它一共出现在7套题目中.
//假定你是出题的老师,请将该程序编制成6道填空题
import java.awt.*;
import java.awt.event.*;
public class Java_5 implements ActionListener,WindowListener
{
Frame f;
Button be,bw,bs,bn,bc;
public void create()
{
f=new Frame("Exit test");
be=new Button("East");
bw=new Button("West");
bs=new Button("South");
bn=new Button("North");
bc=new Button("Exit");
f.add(be,"East");
f.add(bw,"West");
f.add(bs,"South");
f.add(bn,"North");
f.add(bc,"Center");
bc.addActionListener(this); //为按钮注册监听器
f.addWindowListener(this); //为按钮注册监听器
f.setSize(200,200);
f.setVisible(true);
}
public static void main(String args[])
{
Java_3 fa=new Java_3();
fa.create();
}
public void actionPerformed(ActionEvent e)
{
System.exit(0); //关闭窗口并使程序正常结束
};
public void windowOpened(WindowEvent e){}
public void windowClosing(WindowEvent e)
{
System.exit(0); //关闭窗口并使程序正常结束
};
public void windowClosed(WindowEvent e){}
public void windowIconified(WindowEvent e){}
public void windowDeiconified(WindowEvent e){}
public void windowActivated(WindowEvent e){}
public void windowDeactivated(WindowEvent e){}
}
//阅读运行下面的程序,这是2006年4月的一个上机考试题,它一共出现在7套题目中.
//假定你是出题的老师,请将该程序编制成6道填空题
import java.awt.*;
import java.awt.event.*;
public class Java_6 implements ActionListener,WindowListener
{
Frame f;
Button be,bw,bs,bn,bc;
public void create()
{
f=new Frame("Exit test");
be=new Button("East");
bw=new Button("West");
bs=new Button("South");
bn=new Button("North");
bc=new Button("Exit");
f.add(be,"East");
f.add(bw,"West");
f.add(bs,"South");
f.add(bn,"North");
f.add(bc,"Center");
bc.addActionListener(this); //为按钮注册监听器
f.addWindowListener(this); //为按钮注册监听器
f.setSize(200,200);
f.setVisible(true);
}
public static void main(String args[])
{
Java_3 fa=new Java_3();
fa.create();
}
public void actionPerformed(ActionEvent e)
{
System.exit(0); //关闭窗口并使程序正常结束
};
public void windowOpened(WindowEvent e){}
public void windowClosing(WindowEvent e)
{
System.exit(0); //关闭窗口并使程序正常结束
};
public void windowClosed(WindowEvent e){}
public void windowIconified(WindowEvent e){}
public void windowDeiconified(WindowEvent e){}
public void windowActivated(WindowEvent e){}
public void windowDeactivated(WindowEvent e){}
}
//阅读运行下面的程序,这是2006年4月的一个上机考试题,它一共出现在7套题目中.
//假定你是出题的老师,请将该程序编制成6道填空题
import java.awt.*;
import java.awt.event.*;
public class Java_7 implements ActionListener,WindowListener
{
Frame f;
Button be,bw,bs,bn,bc;
public void create()
{
f=new Frame("Exit test");
be=new Button("East");
bw=new Button("West");
bs=new Button("South");
bn=new Button("North");
bc=new Button("Exit");
f.add(be,"East");
f.add(bw,"West");
f.add(bs,"South");
f.add(bn,"North");
f.add(bc,"Center");
bc.addActionListener(this); //为按钮注册监听器
f.addWindowListener(this); //为按钮注册监听器
f.setSize(200,200);
f.setVisible(true);
}
public static void main(String args[])
{
Java_3 fa=new Java_3();
fa.create();
}
public void actionPerformed(ActionEvent e)
{
System.exit(0); //关闭窗口并使程序正常结束
};
public void windowOpened(WindowEvent e){}
public void windowClosing(WindowEvent e)
{
System.exit(0); //关闭窗口并使程序正常结束
};
public void windowClosed(WindowEvent e){}
public void windowIconified(WindowEvent e){}
public void windowDeiconified(WindowEvent e){}
public void windowActivated(WindowEvent e){}
public void windowDeactivated(WindowEvent e){}
}
//阅读运行下面的程序,这是2006年4月的一个上机考试题,它一共出现在7套题目中.
//假定你是出题的老师,请将该程序编制成6道填空题
import java.awt.*;
import java.awt.event.*;
public class Java_8 implements ActionListener,WindowListener
{
Frame f;
Button be,bw,bs,bn,bc;
public void create()
{
f=new Frame("Exit test");
be=new Button("East");
bw=new Button("West");
bs=new Button("South");
bn=new Button("North");
bc=new Button("Exit");
f.add(be,"East");
f.add(bw,"West");
f.add(bs,"South");
f.add(bn,"North");
f.add(bc,"Center");
bc.addActionListener(this); //为按钮注册监听器
f.addWindowListener(this); //为按钮注册监听器
f.setSize(200,200);
f.setVisible(true);
}
public static void main(String args[])
{
Java_3 fa=new Java_3();
fa.create();
}
public void actionPerformed(ActionEvent e)
{
System.exit(0); //关闭窗口并使程序正常结束
};
public void windowOpened(WindowEvent e){}
public void windowClosing(WindowEvent e)
{
System.exit(0); //关闭窗口并使程序正常结束
};
public void windowClosed(WindowEvent e){}
public void windowIconified(WindowEvent e){}
public void windowDeiconified(WindowEvent e){}
public void windowActivated(WindowEvent e){}
public void windowDeactivated(WindowEvent e){}
}
/*
对于类和对象的概念,还可以这样形象地解释
类是生产产品的"图纸",而对象则是按照这个"图纸"制造出来的一个产品,言下之意是按照这个"图纸"可以制造出来很多个产品了,是这样的.只要你需要,就可以"造",多少都行.
例题:计算3个圆的面积的和.3个圆的半径分别为1、10 100
做法:先构造、定义一个类圆
制造一个半径为1的圆,称为c1
制造一个半径为10的圆,称为c2
制造一个半径为100的圆,称为c3
将c1的圆面积、c2的圆面积和c3的圆面积加起来,就是我们要的值
具体实现过程,看下面的Java程序
有这个例题,我们还可以这样理解类,类是同一类事物的统称.这在我们的日常用语中是这样体现的
如:李四是一名学生
在这里,学生是类,而李四对象
在我们的头脑中对学生已经有了一个明确的认知,由此知道李四也应该具有什么特征,当然李四的特征更具体了.
又比如:刘备的车是红旗轿车
这里,红旗轿车是类,刘备的车是对象
由此可以看出,面向对象的程序设计方法在对问题的认识上,更接近人的思维形式.
人们对于事物的认知是通过具有层次关系的类来认知的,比如:我手里拿的苹果是红香蕉,红香蕉是一种苹果名,苹果是一种香甜的水果,水果是植物的果实.
先阅读运行下面的程序,观察运行结果.然后作下面的修改工作.
修改1:如果再增加一个半径为30的圆,题目改成计算4个圆的面积和,那么下面的程序该怎样修改?
修改2:将Circle c1=new Circle( 1 ); 修改为 Circle c1=new Circle( "1" );可以吗?
修改3:将Circle c1=new Circle( 1 ); 修改为 Circle c1=new Circle( );可以吗?
*/
public class Java_1
{
public static void main( String args[] ) //Java应用程序执行的入口
{
//制造一个半径为1的圆,称为c1
Circle c1=new Circle( 1 ); //声明一个Circle类的对象c1,new运算符的含义是:新建
//该圆的半径为1
//制造一个半径为10的圆,称为c2
Circle c2=new Ci...
转载于:https://www.cnblogs.com/521taobao/archive/2012/03/17/2402476.html