实验3第8至24题 翁丽清 计算机 12251102133.docx
- 文档编号:14014436
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:26
- 大小:19.89KB
实验3第8至24题 翁丽清 计算机 12251102133.docx
《实验3第8至24题 翁丽清 计算机 12251102133.docx》由会员分享,可在线阅读,更多相关《实验3第8至24题 翁丽清 计算机 12251102133.docx(26页珍藏版)》请在冰点文库上搜索。
实验3第8至24题翁丽清计算机12251102133
第8题
//实验3第8题
//Test2.java
classA{
inti=1;
staticintj=3;
voidm(){
i=5;
}
staticvoidm1(){
j=7;
}
}
classBextendsA{
inti=2;
staticintj=4;
voidm(){
i=6;
}
staticvoidm1(){
j=8;
}
}
publicclassTest2{
publicstaticvoidmain(){
Bb=newB();
System.out.println(b.i);
System.out.println(b.j);
Aa=newA();
System.out.println(a.i);
System.out.println(a.j);
a.m();
a.m1();
System.out.println(a.i);
System.out.println(a.j);
}
}
2
4
1
3
5
7
实验3第9题
(1)
//实验3第9题的第一个程序
//Test3.java
classTest3{
publicstaticvoidmain(Stringargs[]){
Aa=newA();
}
}
classA{
inti=1;
staticintj=2;
{System.out.println("i="+i);
static(System.out.println("j="+j));}
}
运行结果:
j=2
i=1
第9题
(2)
//实验3第9题的第二个程序
//Test4.java
classTest4{
publicstaticvoidmain(Stringargs[]){
Aa=newA();
}
}
classAextendsB{
inti=5;
staticintj=4;
A(){
System.out.println("i="+i);
System.out.println("j="+j);
}
voidm(){
System.out.println("i="+i);
System.out.println("j="+j);
}
}
classB{
B(){
m();
}
voidm(){
}
}
运行结果:
i=0(此时i的初始值是0)
j=4
i=5
j=4
//实验3第10题
//HidingDemo.java
classHidingDemo{
publicstaticvoidmain(Stringargs[]){
Ax=newB();
System.out.println("
(1)x.i="+x.i);
System.out.println("
(2)(B)x.i="+((B)x).j);
System.out.println("(3)x.j="+x.j);
System.out.println("(4)((B)x).j="+((B)x).j);
System.out.println("(5)x.m1()="+x.m1());
System.out.println("(6)((B)x).m1()="+((B)x).m1());
System.out.println("(7)x.m2()="+x.m2());
System.out.println("(8)x.m3()="+x.m3());
}
}
classA{
publicinti=1;
publicstaticintj=11;
publicstaticStringm1(){
return"A's类方法m1";
}
publicStringm2(){
return"A's实例方法m2";
}
publicStringm3(){
return"A's实例方法m3";
}
}
classBextendsA{
publicinti=2;
publicstaticintj=12;
publicstaticStringm1(){
return"B's类方法m1";
}
publicStringm2(){
return"B's实例方法m2";
}
}
运行结果:
1)x.i=1
(2)(B)x.i=12
(3)x.j=11
(4)((B)x).j=12
(5)x.m1()=A's类方法m1
(6)((B)x).m1()=B's类方法m1
(7)x.m2()=B's实例方法m2
(8)x.m3()=A's实例方法m3
11.判断下列说法的对错:
·终极类可以有实例。
————(对)但抽象类不可以有自己的对象
·终极类可以扩展。
————(错)
·终极方法可以被覆盖。
——(错)
·总可以成功地将子类的实例转换为父类的对象。
——(对)上转型
·总可以成功地将父类的实例转换为子类。
———(错)
//实验3第12题
//Test3_12.java
classMyDate{
privateintyear;
privateintmonth;
privateintday;
publicStringtoString(){
return"类名:
MyDate,Dateis:
"+String.valueOf(year).concat(String.valueOf(month))+String.valueOf(day);
}
}
classPerson1{
Stringname;
Stringadress;
Stringphone;
Stringemail;
voidsetName(Stringname){
this.name=name;
}
StringgetName(){
returnname;
}
voidsetAdress(Stringadress){
this.adress=adress;
}
StringgetAdress(){
returnadress;
}
voidsetPhone(Stringphone){
this.phone=phone;
}
StringgetPhone(){
returnphone;
}
voidsetEmail(Stringemail){
this.email=email;
}
StringgetEmail(){
returnemail;
}
publicStringtoString(){
return("类名:
Person,人名:
"+name);
}
}
classStudent1extendsPerson1{
privatestaticfinalintGRADE_ONE=1;
privatestaticfinalintGRADE_TWO=2;
privatestaticfinalintGRADE_THREE=3;
privatestaticfinalintGRADE_FOUR=4;
publicStringtoString(){
return("类名:
Student,人名:
"+super.name);
}
}
classEmployeeextendsPerson1{
Stringoffice;
doublesalary;
MyDatehireDate;
StringofficeHours;
intlevel;
StringfacName;
publicStringtoString(){
return("类名:
Employee,人名:
"+super.name);
}
}
classFacultyextendsEmployee{
publicStringtoString(){
return("类名:
Faculty,人名:
"+super.name);
}
}
classStaffextendsEmployee{
publicStringtoString(){
return("类名:
Staff,人名:
"+super.name);
}
}
publicclassTest3_12{
publicstaticvoidmain(Stringargs[]){
Person1a=newPerson1();
Student1b=newStudent1();
Employeec=newEmployee();
Facultyd=newFaculty();
Staffe=newStaff();
}
}
运行结果:
类名:
Person,人名:
null
类名:
Student,人名:
null
类名:
Employee,人名:
null
类名:
Faculty,人名:
null
类名:
Staff,人名:
null
//实验3第13题
//Test3_13.java
classC{
chars;
C(chars){
this.s=s;
}
publicvoidf(){
if(s>'A'||s<'Z'||s>'a'||s<'z')
System.out.println("显示输出英文字母:
"+s);
}
}
classDextendsC{
Stringt;
D(Stringt){
super('j');
this.t=t;
}
publicvoidg(){
System.out.println("显示输出的中文字符串:
"+t);
}
}
publicclassTest3_13{
publicstaticvoidmain(Stringargs[]){
Db2=newD("Java是一门面向对象语言!
");
b2.f();
b2.g();
}
}
运行结果:
显示输出英文字母:
j
显示输出的中文字符串:
Java是一门面向对象语言!
//实验3第14题
//Test3_14.java
classSA{
inta,b;
SA(inta,intb){
this.a=a;
this.b=b;
}
publicintf(){
intr;
while(a%b!
=0){
r=a%b;
a=b;
b=r;
}
returnb;
}
}
classSBextendsSA{
SB(inta,intb){
super(a,b);
}
publicintf(){
intm=a;
intn=b;
super.f();
return((m*n)/b);
}
}
publicclassTest3_14{
publicstaticvoidmain(Stringargs[]){
SAsa=newSA(15,10);
SBsb=newSB(15,10);
System.out.println("15和10的最大公约数是:
"+sa.f());
System.out.println("15和10的最小公倍数是:
"+sb.f());
}
}
运行结果:
15和10的最大公约数是:
5
15和10的最小公倍数是:
30
//实验3第15题
//Test3_15.java
classPointer{
privatedoublex;
privatedoubley;
publicPointerp2;
publicPointer(){
}
publicPointer(doublex,doubley){
this.x=x;
this.y=y;
}
publicdoublegetX(){
returnx;
}
publicvoidsetX(doublex){
this.x=x;
}
publicdoublegetY(){
returny;
}
publicvoidsetY(doubley){
this.y=y;
}
publicvoiddisplay(){
}
publicStringtoString(){
return"("+x+","+y+")";
}
publicstaticdoubledistance(Pointerp1,Pointerp2){
return(Math.sqrt(Math.pow(p1.getX()-p2.getX(),2)+Math.pow(p1.getY()-p2.getY(),2)));
}
}
publicclassTest3_15{
publicstaticvoidmain(Stringargsp[]){
Pointerp1=newPointer(1,1);
Pointerp2=newPointer();
p2.setX
(2);
p2.setY
(2);
System.out.println("Pointer1:
"+p1.toString());
System.out.println("Pointer2:
"+p2.toString());
System.out.println("Pointer1"+p1.toString()+"betweenPointer2"+p2.toString()+"distanceis:
"+Pointer.distance(p1,p2));
Pointermiddle=newPointer();
middle.setX((p1.getX()+p2.getX())/2);
middle.setY((p1.getY()+p2.getY())/2);
System.out.println("middlepointis:
"+middle.toString());
}
}
运行结果:
Pointer1:
(1.0,1.0)
Pointer2:
(2.0,2.0)
Pointer1(1.0,1.0)betweenPointer2(2.0,2.0)distanceis:
1.4142135623730951
middlepointis:
(1.5,1.5)
Equals()方法该怎么实现?
?
?
//实验3第16题
//TestVehicles.java
classVehicles{
Stringsize;
Stringcolor;
intseats;
Vehicles(Stringsize,Stringcolor,intseats){
this.size=size;
this.color=color;
this.seats=seats;
}
publicStringtoString(){
return"Vehicles'ssizeis"+size+"andcoloris"+color+"andithas"+seats+"seats";
}
}
classCarextendsVehicles{
Car(Stringsize,Stringcolor,intseats){
super("small","black",4);
}
publicStringtoString(){
return"Car'ssizeis"+size+"andcoloris"+color+"andithas"+seats+"seats";
}
}
publicclassTestVehicles{
publicstaticvoidmain(Stringargs[]){
Vehiclesvehicles=newVehicles("large","white",4);
Carcar=newCar("small","black",4);
System.out.println(vehicles.toString());
System.out.println(car.toString());
}
}
运行结果:
Vehicles'ssizeislargeandcoloriswhiteandithas4seats
Car'ssizeissmallandcolorisblackandithas4seats
//实验3第17题
//Test3_17.java
classMyRectangle{
doubleheight,width;
voidsetHeight(doubleheight){
this.height=height;
}
voidsetWidth(doublewidth){
this.width=width;
}
doublegetHeight(){
returnheight;
}
doublegetWidth(){
returnwidth;
}
doublegetArea(){
return(height*width);
}
StringshowInfo(){
return("矩形的长为"+height+",宽为"+width+",面积为"+getArea());
}
}
classMySquareextendsMyRectangle{
doublegetArea(){
return(height*height);
}
StringshowInfo(){
return("正边形的边长为"+height+",面积为"+getArea());
}
}
publicclassTest3_17{
publicstaticvoidmain(Stringargs[]){
MyRectanglea=newMyRectangle();
a.setHeight(10.0);
a.setWidth(5.5);
a.getArea();
System.out.println(a.showInfo());
MySquareb=newMySquare();
b.setHeight(4.0);
b.getArea();
System.out.println(b.showInfo());
}
}
运行结果:
矩形的长为10.0,宽为5.5,面积为55.0
正边形的边长为4.0,面积为16.0
//实验3第18题
//TestInterface.java
interfacePcMainBoard{
voidsound();
voiddisplay();
voidnet();
voidusb();
}
publicclassTestInterfaceimplementsPcMainBoard{
publicvoidsound(){
System.out.println("实现了声卡的接口");
}
publicvoiddisplay(){
System.out.println("实现了显卡的接口");
}
publicvoidnet(){
System.out.println("实现了网卡的接口");
}
publicvoidusb(){
System.out.println("实现了usb的接口");
}
publicstaticvoidmain(Stringargs[]){
TestInterfacet=newTestInterface();
t.sound();
}
}
运行结果:
实现了声卡的接口
//实验3第19题
//Test3_19.java
importjava.util.Scanner;
abstractclassArea{
publicabstractdoublearea();
}
classRectAreaextendsArea{
RectArea(){
}
doublex,y;
RectArea(doublex,doubley){
this.x=x;
this.y=y;
}
publicdoublearea(){
returnx*y;
}
}
classRoundAreaextendsArea{
doublez;
RoundArea(){
}
RoundArea(doublez){
this.z=z;
}
staticfinaldoublePI=3.14159;
publicdoublearea(){
returnPI*z*z;
}
}
publicclassTest3_19{
publicstaticvoidmain(Stringargs[]){
try{
Scannersc=newScanner(System.in);
System.out.println("请从键盘输入长方形的长和宽:
");
doublex=sc.nextDouble();
doubley=sc.nextDouble();
RectAreaa=newRectArea(x,y);
System.out.println("长方形的面积为"+a.area());
System.out.println("请从键盘输入圆的半径:
");
doublez=sc.nextDouble();
RoundAreab=newRoundArea(z);
System.out.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验3第8至24题 翁丽清 计算机 12251102133 实验 24