好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

实验2(07) 类与对象.doc

12页
  • 卖家[上传人]:M****1
  • 文档编号:450007112
  • 上传时间:2022-12-21
  • 文档格式:DOC
  • 文档大小:1.49MB
  • / 12 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 班级: 姓名: 学号: 成绩 面向对象编程基础(一)简单的类和对象实验目的:1. 掌握类的定义,熟悉属性、构造函数、方法的作用,掌握用类作为类型声明变量和方法返回值;2. 理解类和对象的区别,掌握构造函数的使用,熟悉通过对象名引用实例的方法和属性;实验数据记录及分析(或程序及运行结果)1. 写一个名为Rectangle的类表示同一种颜色的矩形类其成员属性包括宽width、高height,类属性包括颜色color(默认颜色是蓝色),width和height都是double型的,而color则是String类型的要求该类具有:(1) 合理的构造函数,完成各属性的初始赋值(2) 使用get和set的形式完成各个属性的访问及修改(3) 计算面积的getArea()方法(4) 合理的toString方法主函数如下:public static void main(String[] args) { Rectangle r; System.out.println("创建一个默认初值的矩形:"); r = new Rectangle(); System.out.println("\t" + r); System.out.println("修改具有默认初值矩形的宽为10,高为20:"); r.setWidth(10); r.setHeight(20); System.out.println("\t" + r); System.out.println("修改所有矩形对象的颜色为红色"); Rectangle.setColor("红色"); System.out.println("\t" + r); System.out.println("创建一个宽10,高30的矩形"); r = new Rectangle(10, 30); System.out.println("\t" + r); System.out.println("创建一个边长为1的正方形:"); r = new Rectangle(1); System.out.println("\t" + r); }2. 一副牌Deck有52张扑克Card组成(不含王牌),每张牌有自己的牌型suit(用char类型)和点数rank(用String类型),补充完整下面的类的定义。

      public class Card {补充代码 public Card( 补充代码 ) { this.suit = suit; this.rank = rank; } public String toString() { return suit+rank; //红10 黑3 } public static void main(String[] args){ Card c=new Card('黑',"10"); System.out.println(c.toString()); }}3. 程序运行后的输出是什么? class TestReference{public static void main(String[] args){int x=2;TestReference tr = new TestReference();System.out.print(x);tr.change(x);System.out.print(x);}public void change(int num){num = num + 1;}}结果是:224. 写出程序运行结果public class Foo {public static void main (String [] args) { StringBuffer a = new StringBuffer (“A”);StringBuffer b = new StringBuffer (“B”);operate(a,b);//调用了Foo类的一个类方法System.out.println(a + “,” +b);}static void operate (StringBuffer x, StringBuffer y) { x.append(y);y = x;}} 运行结果是: AB,B 5. 解释下面的程序运行结果输出为什么是null public class My { String s; public void My(){ s = "Constructor"; } public void go() { System.out.println(s); } public static void main(String args[]) { My m = new My(); m.go(); } } 主函数并没有调用My()方法6. 给出下面的类,找出后面的5个声明中,哪些是重载后的构造函数public class ConstOver {public ConstOver (int x, int y, int z) {}}A. ConstOver ( ) { }B. Protected int ConstOver ( ) { }C. Private ConstOver (int z, int y, byte x) { }D. Public Object ConstOver (int x, int y, int z) { }E. Public void ConstOver (byte x, byte y, byte z) { } 选择:A,B,C,E7. 给出下面的类,找出后面的5个声明中,哪些是重载后的setVar函数public class MethodOver {public void setVar (int a, int b, float c) {}}A. Private void setVar (int a, float c, int b) { }B. Protected void setVar (int a, int b, float c) { }C. Public int setVar (int a, float c, int b) {return a;}D. Public int setVar (int a, int b, float d) {return a;}E. Protected float setVar (int a, int b, float c) {return c;}选择:C8. 下列程序有错误,调试、写出错误原因并改正。

      public class VariableScope { public static void main(String args[]){ int i=10; { int k=10; System.out.println("i="+i); System.out.println("k="+k); } System.out.println("i="+i); System.out.println("k="+k); }}错误原因:K是在里面括号里,变量K是局部变量,外面输入k并不能调用;改成: public class VariableScope { public static void main(String args[]){ int i=10; int k=10; { System.out.println("i="+i); System.out.println("k="+k); } System.out.println("i="+i); System.out.println("k="+k); }}9. 输入下面的类,结合题2中的Card类,完成下面的要求public class JLab1201 { static final char suits[] ={'H','S','D','C'}; static final String ranks[] ={"A","2","3","4","5","6","7","8","9","10","J","Q","K"}; static Card[] cards=new Card[52]; public static void init(){ for(int i=0;i

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.