Java面向对象经典案例10个复习过程.docx
《Java面向对象经典案例10个复习过程.docx》由会员分享,可在线阅读,更多相关《Java面向对象经典案例10个复习过程.docx(10页珍藏版)》请在冰豆网上搜索。
Java面向对象经典案例10个复习过程
Java面向对象经典案例10个
1
classAnthropoid//类人猿
{
privateintn=100;
voidcrySpeak(Strings)
{
System.out.println(s);
}
}
classPeopleextendsAnthropoid
{
voidcomputer(inta,intb)
{
intc=a*b;
System.out.println(c);
}
voidcrySpeak(Strings)
{
System.out.println("**"+s+"**");
}
}
publicclassMonkey
{
publicstaticvoidmain(Stringargs[])
{
Anthropoidmonkey=newPeople();
//monkey是People对象的上转型对象
//puter(10,10);//非法
monkey.crySpeak("我喜欢这个运动");
Peoplepeople=(People)monkey;
//把上转型对象强制转化为子类的对象
puter(10,10);
}
}
2
classManyArea{
publicdoublearea(doubleradius){
returnMath.PI*radius*radius;
}
publicdoublearea(doublelen,doublewidth){
returnlen*width;
}
publicdoublearea(intlen,intwidth){
returnlen*width;
}
publicdoublearea(doublelen,doublewidth,doubleheight){
returnlen*width*height;
}
}
publicclassOverLoad{
publicstaticvoidmain(Stringargs[]){
ManyAreaob=newManyArea();
System.out.println("半径为3.0的圆的面积:
"+ob.area(3.0));
System.out.println("长2.0、宽3.0的面积:
"+ob.area(2.0,3.0));
System.out.println("长2、宽3的面积:
"+ob.area(2,3));
System.out.println("立方体的面积:
"+ob.area(2.0,3.0,4.0));
}
}
3
classAnimal
{
publicvoidshout()
{
}
}
classDogextendsAnimal
{
publicvoidnewDog()
{
System.out.println("Dog的新特性");
}
publicvoidshout()
{
System.out.println("汪");
}
}
classCatextendsAnimal
{
publicvoidshout()
{
System.out.println("喵");
}
}
classTest
{
publicvoidanimalshout(Animala)
{
a.shout();
}
}
publicclassPolyEx
{
publicstaticvoidmain(String[]args)
{
Animald=newDog();//
(1)
Dogd1=(Dog)d;//(3)父类对象强制转换成子类对象
d1.newDog();
//d.newDog();
d.shout();
Testt=newTest();
t.animalshout(d);//
(2)
t.animalshout(d1);
}
}
4
classArrayEx{
publicint[]subarray(inta[],intstart,intend){
intsubarr[]=newint[end-start];
for(inti=0,j=start;jsubarr[i]=a[j];
}
returnsubarr;
}
}
publicclassTest{
publicstaticvoidmain(Stringargs[]){
ArrayExarrex=newArrayEx();
intarr[]=newint[10];
for(inti=0;iarr[i]=i+10;
}
intsub[]=arrex.subarray(arr,2,6);
for(inttemp:
sub){
System.out.println(temp);
}
}
}
5
classBox{
intlength;
intwidth;
intheight;
voidset(intlen,intwid,inthei){
length=len;
width=wid;
height=hei;
}
}
classShowBox{
voidshow(Boxb){
System.out.println(b.length+""+b.width+""+b.height);
}
}
classTestTwo{
publicstaticvoidmain(Stringargs[]){
Boxa=newBox();
a.set(3,4,5);
ShowBoxsbox=newShowBox();
sbox.show(a);
}
}
6.
classOne{
inta=5;
voidshowB(){
inta=3;
intb=this.a;
System.out.println("b="+b);
}
}
publicclassThisOne{
publicstaticvoidmain(Stringargs[]){
Onetest=newOne();
test.showB();
}
}
7.
classMystatic{
privateintx=3;
publicstaticvoidshowx(){
System.out.println("x="+x);
}
publicstaticintadd(intm){
returnm+x;
}
}
classUseMystatic{
publicstaticvoidmain(Stringargs[]){
Mystatic.showx();
System.out.println("add="+Mystatic.add
(2));
}
}
8.
classPoint
{
intx;
inty;
Point(){
x=0;
y=0;
//this(1,1);
}
Point(inta,intb){
x=a;
y=b;
}
voidshow(){
System.out.println("x="+x+"y="+y);
}
}
publicclassUsePoint
{
publicstaticvoidmain(Stringargs[]){
Pointp=newPoint();
p.show();
}
}
9.
classPoint{
privateintx,y;
Point(){
x=1;
y=3;
}
voidshowPoint(Pointt){
System.out.println("x="+t.x+"y="+t.y);
}
voidseeit(){
showPoint(this);
}
}
publicclassUsePointThis
{
publicstaticvoidmain(Stringargs[]){
Pointp=newPoint();
p.seeit();
}
}
10
classPoint{
staticintx=2;
inty=0;
}
publicclassUseStatic{
publicstaticvoidmain(Stringargs[]){
System.out.println("利用类调用静态变量");
System.out.println("x="+Point.x);
//System.out.println("y="+Point.y);
Pointp1=newPoint();
System.out.println("利用对象调用");
System.out.println("x="+p1.x);
System.out.println("y="+p1.y);
Pointp2=newPoint();
p2.y=3;
System.out.println("对象p1中y的值"+"y="+p1.y);
System.out.println("对象p2中y的值"+"y="+p2.y);
p1.x=6;
System.out.println("对象p1中x的值"+"x="+p1.x);
System.out.println("对象p2中x的值"+"x="+p2.x);
}
}