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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© boboyuwu 高级黑马   /  2015-8-11 11:22  /  359 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

大家有没有发现主类中的构造方法,主函数中创建实例的时候无法调用    举个例子

public class text{
      public void text(){
       System.out.println("hello world");
}
   public static void main(String[] args){
            
                                             这个地方写new text();没反应
                                             写text t1=new text(); 也没反应
                                             必须写text t1=new text();
                                                            t1.tex1();                或  new text().text();

}
}

通过上述例子我判断主类中是没有构造方法的,因为主方法在主类中,主方法只能由虚拟机调用,所以一般不在主类中添加构造方法,欢迎讨论。

4 个回复

正序浏览
什么叫主类?main方法是一个方法,是程序的入口,多线程里的主线程。main方法里可以创建类的实例,通过实例执行非静态方法,也可以直接执行静态方法。你这里text方法是非静态方法,所以一定通过实例调用。不调用不会有结果,不创建实例直接调用也不会有结果的。
回复 使用道具 举报

  1. public void text()
  2. {
  3. System.out.println("hello world");
  4. }
复制代码

你这里的这个函数并不是一个构造函数
把void去掉之后试试就可以了
回复 使用道具 举报
new text(); 就要用到空参构造函数。。。
回复 使用道具 举报
不是很清楚你说的主方法是什么,main()函数吗?
你 在主类中 写了一个内部类 class text

>>>>>这个地方写new text();没反应   >>>>>> 其实有反应,新建了一个对象,但是仅仅是建立对象,并没有调用类中的方法,所以不会有输出
>>>>>>写text t1=new text(); 也没反应>>>>>这个同上

然后你说的有反应 是因为调用了对象的方法 text()

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马