重拾Java(五)

 06-9-20:
第二章:第一个程序
当我们运行Java程序的时候,意味着把一个特别的类的类名作为Java虚拟机的参数。

继承:Java的父类叫superclass,子类叫subclass,在Java中,每个类只有一个superclass,多个subclasses。
A extends B指明了A是B的subclass。通过继承机制,subclass可以加强和扩展superclass的功能。

JComponent类:提供framework来构建各种不同的UI组件。我们覆盖superclass的方法来实现特殊组件的行为。听起来是受限制的,尽管我们被限制一些预定义的例程,但是这些都不是问题。当我们引用一种对象的时候,意味着我们引用了他和他的子类。也就是说我们能够正确的引用HelloComponent作为一个JComponent,因为子类能够被认为是is a 关系,即子类是superclass的一种。

包和imports:Java包是一组相关的类。在同一个包中的类之间有特殊的访问权。类把包的名字作为他的全名,叫做fully qualified name。Java.lang包含了基础类,这个包是自动import的。(这个有点像.net中的using了,namespaces提了那么多年了,经久不衰)

HelloJava2:The Sequel:
实例变量:其实就是类的成员变量。另外实例变量是有默认值的,而局部变量没有默认值,编译会提示。

事件:跟windows程序设计中的事件驱动是一样的。Java也是事件驱动。为了与event工作,需要引入新的包,java.awt.event,这个包提供了特殊的Event对象,对于特殊的用户动作,Java GUI组件会产生事件。在事件源上注册一个listener能够使对象得到消息。比如说,为了声明一个listener想要接收一个组件的鼠标移动事件,你调用组件的addMouseMotionlistener方法,用listener对象作为一个参数。B.add*listener(A)表示A说我要接收B的*事件。如果没有listener,Java不会产生事件。最后两个问题:系统怎么知道我们的类包含必要的mouseDragged和mouseMoved方法?我们为什么要提供mouseMoved方法而不做任何事情?

repaint方法:repaint方法导致Java 窗口系统下一个可能的时候调用paintComponent方法。这个操作模型最好的优势是repaint行为被其他东西处理,我们就可以专注我们的业务。Java系统有一个分离的,专门的线程处理所有的repaint要求。

接口:对于编译器和开发人员来说,接口相当于合同。你要实现某个接口,就是说这些接口的函数必须要实现。一个类可以实现多个接口。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值