A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 孙雯 中级黑马   /  2014-8-21 17:40  /  1708 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

慢腾腾地才学到this的应用,自己在做比较两个人 年龄的练习的时候,出现了无法编译情况。提示说:编译器没有包含一个main类型。
代码如下:
public class This {
        public static void main(String[] args) {
                //创建对象p1,p2
                  Person p1=new Person("ZhangSan",23);
                  Person p2=new Person("LiSi",43);
                  boolean b=p1.compare(p2);
                   System.out.println(b);
        }
}

class Person{
        private String name;
        private int age;
         //构造函数,初始化对象的姓名和年龄
        public Person(String name,int age){
                this.name=name;
                this.age=age;
                System.out.println("A:name="+name+",age="+age);
        }
        //比较两人年龄是否相等
         public boolean compare(Person p){
                 return this.age==p.age;
         }
}

先在这儿谢过路过的大神了。感谢感谢~~~

9 个回复

倒序浏览
找到原因了:因为之前在同一个包中,我在另一个文件中已经定义过一个Person类了。那么就出现了一个问题了:如何创建其他文件的类的对象呢?
回复 使用道具 举报
孙雯 发表于 2014-8-21 17:59
找到原因了:因为之前在同一个包中,我在另一个文件中已经定义过一个Person类了。那么就出现了一个问题了: ...

如果没有这个文件没有定义包名且已经编译过,就可以创建该实例。若定义包名首先要导包,然后再创建实例。

不知道你问的是否是这个问题。

回复 使用道具 举报
路过 学习一下
回复 使用道具 举报
编译时是什么情况
回复 使用道具 举报
使用import语句导入不同包中的该类就行了,你应该用的是文本编辑器才会出现这样的问题的,要是在eclipse或myeclipse中你这样写完以后要是没导入别的包中的类的话是有错误提示的。:)
回复 使用道具 举报 1 0
   开始以为很高端。。。结果看完很喜剧。{:3_67:}
回复 使用道具 举报
iefegend 发表于 2014-8-22 08:54
使用import语句导入不同包中的该类就行了,你应该用的是文本编辑器才会出现这样的问题的,要是在eclipse或m ...

谢谢O(∩_∩)O~
回复 使用道具 举报
wwfkofufo 发表于 2014-8-22 10:34
开始以为很高端。。。结果看完很喜剧。

O(∩_∩)O~
回复 使用道具 举报
魏诚东 发表于 2014-8-21 22:34
如果没有这个文件没有定义包名且已经编译过,就可以创建该实例。若定义包名首先要导包,然后再创建实例。
...

嗯嗯。要导入这个类的,是吗?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马