java程序设计编写有一定功能的类和使用类1、 实验内容或题目(1) 定义一个名为MyRectangle的矩形类,类中有4个私有的整型域,分别是矩形的左上角坐标(xUp,yUp)和右下角坐标(xDown,yDown);类中定义没有参数的构造方法和有4个int参数的构造方法,用来初始化类对象。类中还有以下方法: getW( )——计算矩形的宽度;getH( )——计算矩形的高度;area( )——计算矩形的面积;toString( )——把矩形的宽、高和面积等信息作为为字符串返回。编写应用程序使用MyRectangle类。(2) 设计一个Dog类,它有名字、颜色、年龄等属性,定义构造方法用来初始化类的这些属性,定义方法输出Dog 的信息。编写应用程序使用Dog类。(3) 设计一个长方体类MyCube,该类包含第1题中的MyRectangle类对象作为类的域,表示长方体的底面;此外还包含一个整型变量d,表示长方体的高。类中定义构造方法初始化类对象、定义求体积和表面积的方法。编写应用程序测试MyCube类。(4) 设计一个表示用户的User类,类中的变量有用户名、口令(私有的)和记录用户个数的变量(静态的),定义类的3个构造方法(没有参数、有一个参数给用户名赋值、有两个参数给用户名和口令赋值)、获取和设置口令的方法、返回字符串表示的类信息的方法(包括用户名、口令)。编写应用程序测试User类。2、实验目的与要求⑴ 编写有一定功能的类和使用类。⑵ 类的继承。方法的重载和覆盖。⑶ 成员的访问控制。3、 实验步骤与源程序 ⑴ 实验步骤a) 编辑源文件b) 编译c) 运行 ⑵ 源代码 题目一class MyRectangle{ int xUp,xDown,yUp,yDown,W,H,a; public MyRectangle(){ } public MyRectangle(int xUp,int yUp,int xDown,int yDown){ this.xUp=xUp; this.xDown=xDown; this.yUp=yUp; this.yDown=yDown; } public void getW(){ W=(xDown-xUp); } public void getH(){ H=(yDown-yUp); } public void area(){ a=((yDown-yUp)*(xDown-xUp)); } public void tostring(){ System.out.println("矩形的宽为:"+W+"\t高为:"+H+"\t面积为:"+a); }}public class Exe5_1{ public static void main(String[] args){ MyRectangle obj=new MyRectangle(10,10,20,30); obj.getW(); obj.getH(); obj.area(); obj.tostring(); }}题目二class Dog{ String name,color; int age; public Dog(){ } public Dog( String name,String color,int age){ this.name=name; this.color=color; this.age=age; } public void tostring(){ System.out.println("狗的名字是:"+name+"\t颜色是:"+color+"\t年龄是:"+age); }}public class Exe5_2{ public static void main(String[] args){ Dog obj=new Dog("ぃぬやしゃ","白色",400); obj.tostring(); }}题目三import mylib.myclass.mygraph.MyRectangle;class MyCube extends MyRectangle{ int d; public MyCube(){ } public MyCube(int xUp,int yUp,int xDown,int yDown,int d){ this.xUp=xUp; this.xDown=xDown; this.yUp=yUp; this.yDown=yDown; this.d=d; } public int V(){ return (yDown-yUp)*(xDown-xUp)*d; } public int area1(){ return 2*((yDown-yUp)*(xDown-xUp)+(yDown-yUp)*d+(xDown-xUp)*d); }}public class Exe5_3{ public static void main(String[] args){ MyCube obj=new MyCube(0,0,5,10,8); System.out.println("长方体的体积为:"+obj.V() +"\t表面积为:"+obj.area1()); }}题目四class User{ String name; private String password; public static int n=0; public User(){ } public User(String name){ this.name=name; n++; } public User(String name,String password){ this.name=name; this.password=password; n++; } public void setPassword(String password){ this.password=password; } public void getPassword(){ System.out.println("修改密码为:"+password); } public void tostring(){ System.out.println("用户名为:"+name+"\t密码为:"+password+"\t用户号为:"+n); }}public class Exe5_4{ public static void main(String[] args){ User obj=new User("bunichi"); obj.setPassword("12345"); obj.getPassword(); obj.tostring(); User obj2=new User("unciel","654321"); obj2.tostring(); }}4、 测试数据与实验结果(可以抓图粘贴) 题目一 题目二 题目三 题目四 5、 结果分析与实验体会本次实验所完成的所以4个题目全部是围绕着类的编写而展开的,对于我们来说这是对面向对象的实现语言所要学习的最重要的一个学习知识点。在这次的实验中,我们编写了许多的类,包括对类的继承等一些相当重要的环节。不过相对于过去的一些编程题目这次的实验的内容的开放性比较高,题目中很多多没有确定要使用的方法,这些都可以我们自己去编写。另外,比如第四题中,我对该实验进行了一部分的补充,就是利用了实验中要求定义的一个静态变量n进行了使用,因为题目中并没有突出这个静态变量的意义。实验的第三题运用到了一个过去从没有使用过的关于类的继承的问题,我们需要把实验一的内容进行修改(注意:上面的源代码并不是为实验三而修改过的),把实验一的源代码要封装成两个类,并使用package语句。而在实验三中需要import实验一的类,从而才能实现类的继承358