A. 一个.java文件中能有多个类吗
可以有多个类,但只能有一个public类,且这个public类名的和文件名相同。
B. [新人求助]在一个java文件内定义多个类时无法运行。
当一个java文件中有多个类时,其中与.java文件名同名的类是主类.而主类中必须有主函数(main函数)的入口,才能编译运行.你的程序就是在主类(smp31类)中没有主函数,所以运行不了.你把两个类中的函数互换一下,再把main函数中smp31 abc=new smp31();改成smp311 abc=new smp311();就行了.
完整的Java程序如下
publicclasssmp31{
publicstaticvoidmain(String[]args){
inta1=1,a2=2;
System.out.println("1+2="+(a1+a2));
smp311abc=newsmp311();
abc.putout("hi!friend!");
}
}
classsmp311{
voidputout(Strings){
System.out.println(s);
}
}
运行结果
1+2=3
hi!friend!
C. java程序怎么在一个文件里,创建多个类。
直接给你源码吧!
/**
*测试类
*@authorxjh
*
*/
publicclassTest{
publicstaticvoidmain(String[]args){
//创建“英雄”对象
Herohero=newHero("李小侠",300);
System.out.println(hero);
//创建“武器”对象
Weaponweapon=newWeapon("死神魔刀",12);
System.out.println(weapon);
//创建“怪物”对象
Monstermonster=newMonster("小龟",300,"潜水型");
System.out.println(monster);
}
}
/**
*英雄类
*@authorxjh
*
*/
classHero
{
privateStringname;//姓名
privateintlife; //生命值
publicHero(){}
publicHero(Stringname,intlife){
this.name=name;
this.life=life;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicintgetLife(){
returnlife;
}
publicvoidsetLife(intlife){
this.life=life;
}
@Override
publicStringtoString(){
return"我是英雄,我的基本信息如下: "+"姓名:"+name+
",生命值:"+life;
}
}
/**
*武器类
*@authorxjh
*
*/
classWeapon{
privateStringname;//武器名
privateintattack;//攻击力
publicWeapon(){
}
publicWeapon(Stringname,intattack){
this.name=name;
this.attack=attack;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicintgetAttack(){
returnattack;
}
publicvoidsetAttack(intattack){
this.attack=attack;
}
@Override
publicStringtoString(){
return"我是武器,我的基本信息如下: "+"武器名:"+name+
",攻击力:"+attack;
}
}
/**
*怪物类
*@authorxjh
*
*/
classMonster
{
privateStringname;//怪物名
privateintlife; //生命值
privateStringtype;//类型
publicMonster(){}
publicMonster(Stringname,intlife,Stringtype){
this.name=name;
this.life=life;
this.type=type;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicintgetLife(){
returnlife;
}
publicvoidsetLife(intlife){
this.life=life;
}
publicStringgetType(){
returntype;
}
publicvoidsetType(Stringtype){
this.type=type;
}
@Override
publicStringtoString(){
return"我是怪物,我的基本信息如下: "+"姓名:"+name+
",生命值:"+life+",类型:"+type;
}
}
D. java一个类里面可以定义多个类吗
当然可以,这也是封装的一种形式,例如:
public class User{
class Son {
}
class Daughter {
}
}
E. java中一个包是否能声明多个类是的话,要如何声明
当然可以,你可以把包理解为文件夹,一个文件夹下可以有很多文件;
类声明之前都加上package语句声明在同一个包里就可以了。
F. Java 一个包中如何定义多个类及调用
定义几个类
之后想用的话就导入进来就可以啦。
G. 一个java文件可以定义好多类吗
一个.java文件中可以有很多类。不过注意以下几点:\x0d\x0a1.public 权限的类只能有一个(也可以一个都没有,但最多只有1个)\x0d\x0a2.这个.java文件的文件名必须是public类的类名(一般的情况下,这里放置main方法是程序的入口。)\x0d\x0a3.若这个文件中没有public的类,则文件名随便是一个类的名字即可\x0d\x0a4.你用Javac 编译这个.java文件的时候,它会给每一个类生成一个.class文件\x0d\x0a\x0d\x0a你发的这个图能运行,因为有一个public类里面有main方法,这个main()方法是程序的入口\x0d\x0a他这个程序的执行顺序是:进入main方法后,先NEW出来了一个ChildClass的对象,子类对象进入f()方法,执行对FatherClass中f()的调用,完了自己执行后面的方法体