第4章-类与对象2

上传人:每**** 文档编号:46391642 上传时间:2021-12-13 格式:DOC 页数:22 大小:83KB
返回 下载 相关 举报
第4章-类与对象2_第1页
第1页 / 共22页
第4章-类与对象2_第2页
第2页 / 共22页
第4章-类与对象2_第3页
第3页 / 共22页
点击查看更多>>
资源描述
一、选择题1 定义类头时,不可能用到的关键字是()。 A) class B)private C)extends D)public2.下列类定义中,不正确的是()。A) class x . B) class x extends y . C) static class x implements y1,y2 . D) public class x extends Applet . 3.下列类头定义中,错误的是()。 A)public x extends y . B) public class x extends y . C)class x extends y implements y1 . D)class x .4.设 A为已定义的类名,下列声明A类的对象a的语句中正确的是( )。 A) float A a; B) public A a=A( ); C) A a=new int( ); D) static A a=new A( );5.设 A为已定义的类名,下列声明A类的对象a的语句中正确的是()。 A) public A a=new A( ); B) public A a=A( ); C) A a=new class( ); D) a A;6.设 X 、Y 均为已定义的类名,下列声明类X的对象x1的语句中正确的是()。 A) public X x1= new Y( ); B) X x1= X ( ); C) X x1=new X( ); D) int X x1;7. 设X 、Y为已定义的类名,下列声明X类的对象x1的语句中正确的是()。 A) static X x1; B) public X x1=new X(int 123); C) Y x1; D) X x1= X( );8.通过类MyClass中的不含参数的构造方法,生成该类的一个对象obj,可通过以下语句实现: _。9. 设i , j为类X中定义的int型变量名,下列X类的构造方法中不正确的是( )。 A) void X(int k ) i=k; B) X(int k ) i=k; C) X(int m, int n ) i=m; j=n; D) X( )i=0;j=0; 10. 有一个类A,以下为其构造方法的声明,其中正确的是( )。 A)public A(int x). B)static A(int x). C)public a(int x). D)void A(int x).11. 有一个类A,以下为其构造方法的声明,其中正确的是( )。 A)void A(int x). B)A(int x). C)a(int x). D)void a(int x).12. 设i、j、k为类X中定义的int型变量名,下列类X的构造方法中不正确的是( )。 A) X( int m) . B) void X( int m) . C) X( int m, int n) . D) X( int h,int m,int n) . 13. 设i , j为类X中定义的double型变量名,下列X类的构造方法中不正确的是( )。请预览后下载! A) double X(double k ) i=k; return i; C) X( )i=6;j=8; B) X(double m, double n ) i=m; j=n; D) X(double k ) i=k; 二、填空题1.下面是一个类的定义,请完成程序填空。public class _ int x, y; Myclass ( int i, _) / 构造方法 x=i; y=j; 14. 下面是一个类的定义,请将其补充完整。class _ String name;int age;Student( _ s, int i) name=s; age=i; 2.下面是一个类的定义,请将其补充完整。class _ / 定义名为myclass的类 _ int var=666; static int getvar() return var; 3.下面程序的功能是通过调用方法max()求给定的三个数的最大值,请将其补充完整。public class Class1 public static void main( String args ) int i1=1234,i2=456,i3=-987; int MaxValue; MaxValue=_;请预览后下载! System.out.println(三个数的最大值:+MaxValue); public _ int max(int x,int y,int z) int temp1,max_value; temp1=xy?x:y; max_value=temp1z?temp1:z; return max_value; 4.下面是一个类的定义,请将其补充完整。_ A String s; _ int a=666; A(String s1) s=s1; static int geta( ) return a; 三、程序阅读题1.下面是一个类的定义,根据题目要求回答以下问题.class Bprivate int x; private char y;public B(int i,char j)x=i; y=j;public void show()System.out.println(x=+x+; y=+y);public void methodC(int x)this.x=this.x+x; y+;show();(1)定义类B的一个对象b,将类中的变量x初始化为10、变量y初始化为A,请写出相应的语句。(2)若在(1)问基础上有方法调用语句:请预览后下载!b.show();则输出如何? (3)若在(1)问基础上增加语句: b.methodC(1); 则输出为何? 2.阅读程序,回答问题。 public class Test52 static String str1=Hello, Java world! t; static String str2=Hello, students! ; public static void main(String args) System.out.print(str1); System.out.println(str2); 问题:1)这是哪种形式的 java 程序 ? 2)程序的输出是什么? 3. 写出下列程序的输出结果public class Testpublic static void main(String args)Count myCount = new Count();int times = 0;for(int i=0;i100;i+)increment(myCount , times);System.out.println(“count is” + myCount.count);System.out.println(“time is”+ times);public static void increment(Count c , int times)c.count+;times+;class Countpublic int count;Count(int c)count =c;请预览后下载!Count()count =1;4.写出下列程序的输出结果:public class Testpublic static void main(String args)Cirecle circle1 = new Circle(1);Cirecle circle2 = new Circle(2);/ Attempt to swap circle 1 with circle2System.out.println(“Before swap:circle1 = ”+circle1.radius+”circle2 = ”+circle2.radius);swap(circle1,circle2);System.out.println(“After swap: circle1 = ”+circle1.radius+”circle2 = ”+circle2.radius);public static void swap(Circle x , Circle y)System.out.println(“Before swap: x = ”+x.radius+”y = ”+y.radius);Circle temp = x;x = y;y = temp;System.out.println(“Before swap: x = ”+x.radius+”y = ”+y.radius);答案:5.阅读下面程序,回答问题:public class Fooint i;请预览后下载!static String s;void imethod()static void smethod()设f是Foo的一个实例,下列语句正确吗?System.out.println(f.i);System.out.println(f.s);f.imethod();f.smethod();System.out.println(Foo.i);System.out.println(Foo.s);Foo.imethod();Foo.smethod();6.下列程序的输出结果是什么?public class Foostatic int i=0;static int j=0;public static void main(String args)int i=2;int k=3;int j=3;System.out.println(“i + j is ”+ i + j);k = i +j;System.out.println(“k is ”+k);System.out.println(“j is ”+ j);答案:7. 根据下面的程序,指出下面每个元素的作用域(类作用域或块作用域)a) 变量x请预览后下载!b) 变量yc) 方法cuded) 变量 ie) 变量 yPospublic class CubeTest int x;public void print()int yPos = 10;for(x=1;x=10;x+) System.out.println(cude(x); for(int i=1;i=60)System.out.println(我的姓名是+name+我的成绩为及格);请预览后下载!elseSystem.out.println(我的姓名是+name+我的成绩为不及格);public class T1_Studentpublic static void main(String args)Student s=new Student();s.sNum=101;s.score=97;s.name=张三;System.out.println(s.name+的学号是+s.sNum+成绩是+s.score);s.printInfo();3/构造方法:设计一个关于三角形的类Trival,其中的属性包括三角形的底di,三角形的高gao,方法包括:默认构造方法、为di和gao指定初值的构造方法、获取三角形面积findArea()。class Trivaldouble di;double gao;Trival()di=1.0;gao=2.0;Trival(double i,double j)di=i;gao=j;double findArea()return di*gao/2;请预览后下载!4、/构造方法:编写一个类,描述桌子,包括以下几种属性:长、宽、高、颜色。并且使该类具有这样的功能:在定制桌子(即创建桌子对象时),就可以同时指定桌子的长宽高来订制。也可以同时指定长、宽、高、颜色来订制,也可单独指定桌子颜色来订制。并编写一个测试类测试这几种定制方法。public class T2_Deskpublic static void main(String args)Desk d1=new Desk(2,1.5,0.6);System.out.println(第一个桌子的长宽高分别为:+d1.length+ +d1.width+ +d1.height);Desk d2=new Desk(1,0.6,0.3,red);System.out.println(第二个桌子的长宽高和颜色分别为:+d2.length+ +d2.width+ +d2.height+ +d2.color);Desk d3=new Desk(green);System.out.println(第三个桌子的颜色是+d3.color+色);class Deskdouble length;double width;double height;String color;Desk(double l,double w,double h)length=l;width=w;height=h;Desk(double l,double w,double h,String c)length=l;width=w;height=h;color=c;Desk(String c)color=c;5、/访问器方法:编写一个类,描述银行账户,包括收入、支出和账户余额三种属性,同时包括对这三种属性的读、写的访问器方法,这三种属性都定义为私有的。请预览后下载!该类定义的银行账户还能够通过自己的收入和支出自动计算账户余额。对于账户余额只能读取,自动计算,但不能够直接赋值,也就是不能够写。编写一个测试类,输入收入和支出项,打印账户余额。public class T4_Bankpublic static void main(String args)Bank b=new Bank();b.setIncome(30);b.setOutcome(10);System.out.println(b.getAll();class Bankprivate double income;private double outcome;private double all;public void setIncome(double i)income=i;public double getIncome()return income;public void setOutcome(double o)outcome=o;public double getOutcome()return outcome;public double compute()all=income-outcome;return all;public double getAll()return compute();6. /访问器方法:下面是Name类、Person类和Test类,请将Name类和Person类中所有private数据域的访问器方法填写完整。请预览后下载!class Nameprivate String firstName;/姓private String lastName;/名Name(String f,String l)firstName=f;lastName=l;/填写访问器方法public String toString()return firstName + lastName;class Personprivate Name name;/姓名Person(Name n)name=n;/填写访问器方法class Testpublic static void main(String args)Name theName=new Name(张,三);Person p=new Person(theName);System.out.println(p.getName();/输出结果:张三class Nameprivate String firstName;/姓private String lastName;/名Name(String f,String l)firstName=f;请预览后下载!lastName=l;public String getFirstName()return firstName;public void setFirstName(String fn)firstName=fn;public String getLastName()return lastName;public void setLastName(String ln)lastName=ln;public String toString()return firstName + lastName;class Personprivate Name name;/姓名Person(Name n)name=n;public Name getName()return name; public void setName(Name n)name=n;class Test请预览后下载!public static void main(String args)Name theName=new Name(张,三);Person p=new Person(theName);System.out.println(p.getName();/输出结果:张三7. /类的定义编写一个类实现复数的运算: 复数类 ComplexNumber 的属性:m_dRealPart :实部,代表复数的实数部分;m_dMaginPart :虚部,代表复数的虚数部分; 复数类ComplexNumber 的方法:ComplexNumber(double r , double i ) :构造方法,创建复数对象的同时完成复数的实部、虚部的初始化,r为实部的初值,i为虚部的初值;getRealPart() :获得复数对象的实部;getImaginPart() :获得复数对象的虚部;setRealPart(double d ) :把当前复数对象的实部设置为给定的形式参数的数字;setImaginaryPart ( double d ) :把当前复数对象的虚部设置为给定的形式参数的数字;complexAdd(ComplexNumber c) :当前复数对象与形式参数复数对象相加,所得的结果也是复数值,返回给此方法的调用者; complexMinus(ComplexNumber c) :当前复数对象与形式参数复数对象相减,所得的结果也是复数值,返回给此方法的调用者;complexMulti(ComplexNumber c) :当前复数对象与形式参数复数对象相乘,所得的结果也是复数值,返回给此方法的调用者;编程实现这个类,并验证所编写的类能否正常使用。class ComplexNumberdouble m_dRealPart;double m_dImaginPart;public ComplexNumber(double r, double i)m_dRealPart = r;m_dImaginPart = i;请预览后下载!public double getRealPart()return m_dRealPart;public double getImaginaryPart()return m_dImaginPart;public void setRealPart(double d)m_dRealPart = d;public void setImaginaryPart(double d)m_dImaginPart = d;public ComplexNumber complexAdd(ComplexNumber c)return (new ComplexNumber(this.m_dRealPart+c.m_dRealPart,this.m_dImaginPart+c.m_dImaginPart);public ComplexNumber complexMinus(ComplexNumber c)return (new ComplexNumber(this.m_dRealPart-c.m_dRealPart,this.m_dImaginPart-c.m_dImaginPart);public ComplexNumber complexMulti(ComplexNumber c)return (new ComplexNumber(this.m_dRealPart*c.m_dRealPart - this.m_dImaginPart*c.m_dImaginPart,this.m_dRealPart*c.m_dImaginPart + this.m_dImaginPart*c.m_dRealPart);请预览后下载!public class TestComplexNumberpublic static void main(String args)ComplexNumber cn1 = new ComplexNumber(2,4);ComplexNumber cn2 = new ComplexNumber(1,-1);ComplexNumber cn3;cn3 = plexMulti(cn2);System.out.println(cn1.getRealPart()+cn1.getImaginPart+i);System.out.println(cn2.getRealPart()+cn2.getImaginPart+i);System.out.println(cn3.getRealPart()+cn3.getImaginPart+i);8. /类的定义写一个名为Rectangle的类表示矩形。属性为宽width、高height和颜色color,widthhe height是double型的,color是String型的。假定所有矩形颜色相同,用一个类变量(类属性)表示颜色。要求提供访问器方法和计算矩形面积的findArea()方法。写一个用户程序测试Rectangle类:创建两个Rectangle对象。给两个对象设置任意的宽和高。设矩形颜色为黄色。显示两个对象的属性并求面积。答案:public class Rectangleprivate double width = 1;private double height = 1;private static String color = “white”;public Rectangle()public Rectangle(double width, double height , String color)this.width = width;this.height = height;this.color = color;public double getWidth()return width;public void setWidth(double width)请预览后下载!this.width = width;public double getHeight()return height;public void setHeight(double height)this. height = height;public static String getColor()return color;public static void setColor(String color)this.color = color;public double findArea()return width*height;public static void main(String args)Rectangle r1 = new Rectangle();Rectangle r2 = new Rectangle();r1.setWidth(2.0);r1.setHeight(3.0);r1.setColor(“红色”);r2.setWidth(5.0);r2.setHeight(4.0);r2.setColor(“黄色”);System.out.println(r1.getWidth();System.out.println(r1.getHeight();System.out.println(r1.getColor();System.out.println(r1.findArea();请预览后下载!System.out.println(r2.getWidth();System.out.println(r2.getHeight();System.out.println(r2.getColor();System.out.println(r2.findArea();9、/static修饰符设计一个学生类,其中成员变量应包括:学号,姓名,性别,班级,并提供方法打印学生信息,和计算已经创建学生对象的数目。编写一个程序测试这个类。public class Student private long id; private String name; private char sex; private String banji; private static int count=0; public Student(long id,String name,char sex,String banji) this.id=id; this.name=name; this.sex=sex; this.banji=banji; count+;public void print()System.out.println(“该生信息如下:”);System.out.println(“学号:”+id+” 姓名:”+name+” 性别:”+sex+” 班级:”+banji);public static void count() System.out.println(“已经创建的学生个数为:”+count); public static void main(String args) 请预览后下载! Student a=new Student(01,“zhangsan”,男,”计专01班”); a.print(); Student.count(); Student b=new Student(03,”刘倩”,女,”计专03班”); b.print(); Student.count();10、/static修饰符编写一个类Teacher,描述教师的课时数量和计算课时的系数,均为double类型。Teacher类还有一个方法,courseCompute(),可计算教师的当量课时(课时量*系数),返回值类型为double,所有教师的课时系数相同。编写一个测试类进行测试。创建两个教师对象,计算的系数为1.2,输出计算后的两位老师的当量课时。将系数修改后,输出修改后的当量课时。public class Testpublic static void main(String args)Teacher t1=new Teacher(96);Teacher t2=new Teacher(64);Teacher.classXishu=1.2;double realCourseNum=t1.courseCompute();System.out.println(第一位老师的实际课时数为:+realCourseNum);realCourseNum=t2.courseCompute();System.out.println(第一位老师的实际课时数为:+realCourseNum);Teacher.classXishu=1.5;realCourseNum=t1.courseCompute();System.out.println(更改系数后,第一位老师的实际课时数为:+realCourseNum);realCourseNum=t2.courseCompute();System.out.println(更改系数后,第一位老师的实际课时数为:+realCourseNum);class Teacherpublic Teacher(int courseNum)this.courseNum=courseNum;int courseNum;static double classXishu;请预览后下载!double courseCompute()return courseNum*classXishu;11、设计一个描述二维平面上点的类Position,该类需要描述点的横坐标和纵坐标,并提供访问器方法(set方法和get方法)和计算两点间距离的方法。写一个程序测试这个类class Positionprivate int x = 0;private int y = 0;public Position()public Position (int x,int y)this.x = x;this.y = y;public void setX(int x)this.x = x;public int getX()return x;public void setY(int y)this.y = y;public int getY()return y;public double distance(Positon p)int d1 = x - p.getX();int d2 = y - p.getY();return Math.sqrt(d1*d1+d2*d2);请预览后下载!class Testpublic static void main(String args)Position p1 = new Position ();Position p2 = new Position(3,5);System.out.println(p1.distance(p2); (注:可编辑下载,若有不当之处,请指正,谢谢!) 请预览后下载!
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 成人自考


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!