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

Shy
你的问题是什么呢

Question

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