首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

初学java一题,请问

2012-01-20 
初学java一题,请教!class Anmial{int height100,weightvoid eat(){System.out.println(Anmial height:

初学java一题,请教!
class Anmial
{
int height=100,weight;
void eat()
{
System.out.println("Anmial height:"+height);
System.out.println("Anmial eat!");
}
void sleep()
{
System.out.println("Anmial sleep!");
}


}

class Fish extends Anmial
{
int height=200;
/*void eat()
{
//System.out.println("Fish height:"+height);
System.out.println("Fish eat!");
}*/
}

class TestExtends
{
public static void main(String[] args)
{
Anmial an=new Anmial();
Fish fh=new Fish();
fh.height=300;
fh.eat();
}
}

=========================
为什么结果中height不是等于300,变量不继承吗?


[解决办法]
记住一句话: 变量和static的方法没有多态 的说。。
[解决办法]
[code=Java][/code]
写成这样就好了,你注释掉了.

class Anmial 

int height=100,weight; 
void eat() 

System.out.println("Anmial height:"+height); 
System.out.println("Anmial eat!"); 

void sleep() 

System.out.println("Anmial sleep!"); 





class Fish extends Anmial 

int height=200; 
 void eat() 

System.out.println("Fish height:"+height); 
System.out.println("Fish eat!"); 
}


class TestExtends 

public static void main(String[] args) 

Anmial an=new Anmial(); 
Fish fh=new Fish(); 
fh.height=300; 
fh.eat(); 

}
[解决办法]
2楼...你那么一改就不是LZ想要的问题了

Java code
class   Anmial { int   height=100,weight; void   eat() { System.out.println("Anmial   height:"+height); System.out.println("Anmial   eat!"); } void   sleep() { System.out.println("Anmial   sleep!"); } } class   Fish   extends   Anmial { //public int   height=200; //这里注释掉} public class   TestExtends { public   static   void   main(String[]   args) { Anmial   an=new   Anmial(); Fish   fh=new   Fish(); fh.height=300; fh.eat(); } }
[解决办法]
Java code
Fish fh = new Fish();fh.height = 300;fh.eat();
[解决办法]
LZ 怎么说不是300呢?结果本来就是300,至于解释见上面的
[解决办法]
我运行的结果是100,不是300,所以我就不明白为什么不是300!

热点排行