Topic: 一个类的问题 |
Print this page |
1.一个类的问题 | Copy to clipboard |
Posted by: jasonwing27 Posted on: 2004-09-22 22:57 今天初次尝试JAVA的类,遇到一个问题。 我把原代码列出来请各位高手指教。 //DVD.java public class DVD extends Object { public String DVDtype = "体育" ; } //Sports.java import DVD; public class Sports extends DVD { public String Sportstype = "足球" ; } //Football.java import Sports ; public class Football extends Sports { public String Footballtype = "世界杯进球集锦" ; } //MyDVD.java import java.io.*; import Football ; public class MyDVD { public static void main(String[] args) { Football Mydvd = new Football() ; System.out.println( "DVD种类"+Mydvd.DVDtype ) ; System.out.println( "体育系列"+Mydvd.Sportstype ) ; System.out.println( "足球系列"+Mydvd.Footballtype ) ; } } |
2.Re:一个类的问题 [Re: jasonwing27] | Copy to clipboard |
Posted by: littledeer1974 Posted on: 2004-09-23 09:47 你的问题是什么呢 |
3.Re:一个类的问题 [Re: jasonwing27] | Copy to clipboard |
Posted by: jerry010 Posted on: 2004-09-23 13:17 同一package下不用import的 |
4.Re:一个类的问题 [Re: jasonwing27] | Copy to clipboard |
Posted by: jasonwing27 Posted on: 2004-09-23 14:06 那该怎么改呢,请给我举一个例子好吗? 我是个初学者 |
5.Re:一个类的问题 [Re: jasonwing27] | Copy to clipboard |
Posted by: alpacino Posted on: 2004-09-23 15:19 正确的代码如下: class DVD { String DVDtype = "体育" ; } class Sports extends DVD { String Sportstype = "足球" ; } class Football extends Sports { String Footballtype = "世界杯进球集锦" ; } public class MyDvd { public static void main(String[] args) { Football Mydvd = new Football() ; System.out.println( "DVD种类:"+Mydvd.DVDtype+"\n"+ "体育系列:"+Mydvd.Sportstype+"\n"+ "足球系列:"+Mydvd.Footballtype) ; } } 注意:1.“public class DVD extends Object” 1) public不能乱用,每个JAVA文件中只能有一个类是“public”,一般在包含“main()”函数的类前加“public”; 2)" extends Object"这样写没错,“Object”是JAVA系统内置默认的最高级的类,可以看成是所有类的父类,所以这种写法的意思是“Dvd类继承父类Object",但是这种写法是系统默认的,你完全可以省略" extends Object"。 3)“public String DVDtype = "体育" ”在 这里加public不为错,但可以省略,你可以看看一些书里对“修饰符”的说明。 2.”import DVD;“ ”import ”是指“导入包”,包里面就是各种类,要实现各种各样的功能,就要调用包里面的类,这时就需要“import”。要导入的包必须事先存在,JAVA系统内置了许多包,其中有个“lang”包,这个包里面内置了许多我们常用的,最基本的类,如Object,int,char,String......等,按道理,我们在写任何程序前,都应该“import java.lang”,但正因为它是最基本的包,所以我们可以省略不写,JAVA系统自己会补上;除了内置的包,我们能够自己创建自定义的包,“package [包名]”就是创建包,必须写在”import [包名]“前,先创建,后导入,这样我们就能够使用自定义的包里面的类来实现我们特殊的功能。 1)你这个程序里的所有功能都已经被包含在“lang”包里,所以无需再导入。 2)”import DVD“是要导入名称为“DVD”的包,但你没有事先创建它,所以程序会报错“找不到此包”。 3)你这个程序在这里导入包既错误又无谓。 3."System.out.println( "DVD种类"+Mydvd.DVDtype ) ; System.out.println( "体育系列"+Mydvd.Sportstype ) ; System.out.println( "足球系列"+Mydvd.Footballtype ) ;" 这个写法是对的,我要说的是,你可以试试我这种写法,多掌握一些输出的语法格式总不为错。其中“\n”代表换行,不被输出。 4."class Football extends Sports { String Footballtype = "世界杯进球集锦" ; } public class MyDvd { public static void main(String[] args) { Football Mydvd = new Football() ; System.out.println( "DVD种类:"+Mydvd.DVDtype+"\n"+ "体育系列:"+Mydvd.Sportstype+"\n"+ "足球系列:"+Mydvd.Footballtype) ; } } " 这段语句,你可以试试简化成: class Football extends Sports { String Footballtype = "世界杯进球集锦" ; public static void main(String[] args) { Football football = new Football() ; System.out.println( "DVD种类:"+football.DVDtype+"\n"+ "体育系列:"+football.Sportstype+"\n"+ "足球系列:"+football.Footballtype) ; } } 可以省略只有一个main()函数的MyDvd类,它的功能可以由Football 类实现,当然,你非要加这个类来实现的话,也不为错,但注意,程序代码,越简单越好,其实这个程序还可以简化,但为了你理解“继承”的概念,这样就可以了。 希望以上的解释能帮助你,也许我还有没说到,没说对的,因为我也是初学者,如你有兴趣,Q我啊! QQ号:357071581 |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |