我刚开始学习JAVA

ninghuijuan 2013-02-21 01:54:59
请教大家一个问题,刚接触JAVA,边学边练一下,
package test.aa;
import java.util.Date;
class Test
{
public Test()

{
Date d = new Date();
System.out.println(d);
}

public static void main(String[] args)
{
Test t = new Test();
System.out.println("Hello lcrystal !");
}
}

上面程序和下面程序执行的结果是一样的,区别在哪里呢?
为什么非要上面很复杂的过程呢?
package test.aa;
import java.util.Date;
class Test
{

public static void main(String[] args)
{
Date d = new Date();
System.out.println(d);
System.out.println("Hello lcrystal !");
}
}
上面2个程序有什么区别?
...全文
333 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
飘飘哥 2013-02-25
  • 打赏
  • 举报
回复
引用 8 楼 ninghuijuan 的回复:
楼上哥哥挖苦我呢,我什么都不会,菜鸟
没事 刚开始都是 这样 慢慢来 就行 去看下Java 的面向对象 自己好好理解 就能搞定了
微风飘过 2013-02-25
  • 打赏
  • 举报
回复
没有任何区别
ninghuijuan 2013-02-25
  • 打赏
  • 举报
回复
引用 10 楼 Smallearth 的回复:
呵呵 哥们 继续看视频吧,没有的话就给我要,,,
谢谢哥们,给我发一个,发我邮箱ninghuijuan@163.com
mash5_paul 2013-02-25
  • 打赏
  • 举报
回复
demo1是构造中创建的 demo2是main方法中创建的
  • 打赏
  • 举报
回复
一个算是构造时创建打印时间..一个额外的..这个要从业务上来理解,从代码,结果来看是一样..
zhangpeng455547940 2013-02-25
  • 打赏
  • 举报
回复
main方法是应用程序入口,声明必须为public static void,它是类方法,执行时不实例化对象。 程序中: 第一个放在构造方法里面的,是属于某个对象的。 第二个是放在main中的,是属于类的。
ian77777 2013-02-22
  • 打赏
  • 举报
回复

		Test3 t = new Test3();
wangjinlong3768038 2013-02-21
  • 打赏
  • 举报
回复
呵呵,区别就是你把 Date d = new Date(); System.out.println(d); 放在类的无参数构造函数里面实现了。 这样的效果是你在实例化这个Test类的时候就会执行这段代码,你客户端调用不是变简单了么? 一般来说,如果这是一个业务实现,当然最好是把这些写在类的方法中实现,然后客户端调用通过实例化类,再通过实例的方法调用。 这样才是面向对象。 全在main方法实现,那就是面向过程了。当然,面向对象没这么简单,这是最基本的。
Candylibin 2013-02-21
  • 打赏
  • 举报
回复
引用 8 楼 ninghuijuan 的回复:
楼上哥哥挖苦我呢,我什么都不会,菜鸟
给LZ总结了一下比较书面的说法 对象一建立就会调用与之对应的构造函数。 构造函数的作用:可以用于给对象进行初始化。 构造函数的小细节: 当一个类中没有定义构造函数时,那么系统会默认给该类加入一个空参数的构造函数。 当在类中自定义了构造函数后,默认的构造函数就没有了。 构造函数和一般函数在写法上有不同。 在运行上也有不同。 构造函数是在对象一建立就运行。给对象初始化。 而一般方法是对象调用才执行,是给对象添加对象具备的功能。 一个对象建立,构造函数只运行一次。 而一般方法可以被该对象调用多次。 什么时候定义构造函数呢? 当分析事物时,该事物存在具备一些特性或者行为,那么将这些内容定义在构造函数中。
Candylibin 2013-02-21
  • 打赏
  • 举报
回复
引用 8 楼 ninghuijuan 的回复:
楼上哥哥挖苦我呢,我什么都不会,菜鸟
上面那个是创建了一个Test的构造函数, 所谓构造函数通俗易懂就是:你想让这个类,一初始化(一被new出来)就有的东西。 举个简单的例子吧:比如你去KFC,你需要点套餐,那么,这时你需要找到服务员这个对象, 服务员内部就封装好了A,B,C套餐,换句话说,她一初始化就具备点套餐这个功能,而你只需要去找到这个对象就可以完成点套餐了,现在明白点了吧LZ,你可以理解为,我第一种是叫套餐A或B或C,而第二种就好比是,你单点:汉堡,可乐等,最终的结果是一样的,但是当然是直接点套餐省事了,而多个构造函数是以重载的形式存在的,就是说,ABC都叫套餐,但是里面食物(功能) 却不一样。 所谓重载就是方法名相同 套餐() 但是参数列表不同,比如参数的顺序,类型,个数等 (就是括号里的东西) >>这里就好比是套餐里的食物不一样但是又都叫套餐 方法重载跟返回值类型和修饰符无关 那么在执行时,你传给方法哪些参数,java虚拟机就会去找对应的方法执行(所以不用担心混乱)
S孙大宝 2013-02-21
  • 打赏
  • 举报
回复
呵呵 哥们 继续看视频吧,没有的话就给我要,,,
码农同学 2013-02-21
  • 打赏
  • 举报
回复
第一个程序重的Test t = new Test();是新创建一个Test类的对象,在创建Test类的对象的时候需要调用Test的构造函数 public Test(),在这个构造函数里面把日期输出。第二个就是直接在主类的main方法里面输出了日期。,推荐core java,就是Java核心技术,通俗易懂,深入浅出,对我帮助很大~~
ninghuijuan 2013-02-21
  • 打赏
  • 举报
回复
楼上哥哥挖苦我呢,我什么都不会,菜鸟
wz13206144971 2013-02-21
  • 打赏
  • 举报
回复
LZ好厉害呀,我靠,真的很有用,赞!!!!!!!!!!!!!!!!!!!!!!!
cly4756 2013-02-21
  • 打赏
  • 举报
回复
建议你安个电驴下吧,要谁的都有。我的就是在哪下的,我开始用的是韩顺平的,后来又下了个马士兵的,韩顺平的很适合初学者。马士兵的项目多可以多做,这个真得是敲出来的敲的越多越顺。
ninghuijuan 2013-02-21
  • 打赏
  • 举报
回复
哪位朋友有JAVA学习的视频教程发我一份,谢谢!
cly4756 2013-02-21
  • 打赏
  • 举报
回复
类 Date 表示特定的瞬间,精确到毫秒。 去帮助里看下这个类的介绍,这个是一个引类的方法,你这个例子写得太简单如果好的项目会写得更好些。
ninghuijuan 2013-02-21
  • 打赏
  • 举报
回复
谢谢你们,希望我每天学习,每天能进步点
abc41106 2013-02-21
  • 打赏
  • 举报
回复
单就你这个例子,看不出什么好处。 建议结合面向对象、封装、继承、多态等概念和示例去学习。
zxj828282 2013-02-21
  • 打赏
  • 举报
回复
<a href='http://ishare.iask.sina.com.cn/f/8094227.html?w=MTIwNjMwMzg5OA%3D%3D' target='_blank'>OReilly - Java NIO.pdf</a>

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧