JAVA,我的面向对象的开始

封装,继承,多态 -- 面向对象编程的特征
  小白一枚,纰漏万千却不掩感慨。。。人艰不拆。
初学JAVA是大一上期学完C++后,一上来就讲条件语句啊,循环啊,方法啊,数组啊,所以以为JAVA和C++没多大区别,至于老师讲的面向对象语言的特性更是没有体会。所以一开始学JAVA,要做的脑残程序,我基本是将C++的直接照搬过来,所有的东西都放在程序入口 public static void main(String[] args) { }中。当然咯,一开始,也确实没多大问题,只是直到学习了JAVA(及其他OPP编程语言)的继承机制以后,才渐渐感觉面向对象的伟大了。
  用我做的一个登陆界面来说
  封装性:将方法实现过程封装起来打包,通过方法来调取直接获得结果。(便于系统的升级啊,代码规范啊,防止误操作啊,减少明明冲突。。。)
  比如,我把所有的构造窗体的代买都写到类似于方法public void showUI(){}中,放在类public class Interface(){}中,封装起来,然后通过new Interface().showUI();来显现窗体。
继承:其实就是允许创建分等级层次的类。就像,一个父亲(父类),可以生一个儿子(子类),儿子又可以生一个儿子(子类的子类)。。。显然的儿子可以从父亲那里继承来很多东西,除了private 属性。当然,一个父亲是可以有很多孩子,但一个儿子只可以有一个父亲。(父类可以有多个子类,而子类只可以有一个父类)
注意:每一个子类对象的产生必然伴随这父类对象的产生。或者说一定要有父亲 才能有儿子。当父类存在无参构造器的时候,那么一旦调用子类构造器。 都会默认调用到父类的构造器。如果父类一旦重载了构造器不存在无参构造器,那么子类所有构造器必须用super关键字调用父类的任意一个构造器。
  在一个类中,通常采用重载来增加方法的多样性。而有了继承,就自然而然有了重写。通过从父类继承来方法,子类对该方法进行重新编码(增加或者改变功能),多个子类重写父类方法,就体现出了多态性:简单理解,即父类的一个方法,被子类继承重写后,让该方法变得多种多样。
  当然啦,我刚刚说的继承,主要是针对于类和类的继承。
  
  JAVA中还有两个奇葩一点的东东:接口和抽象类。
  接口:声明接口用关键字 public interface 接口名{},其属性必须采用final或者static声明,而其方法,只能声明不能自身实现。它并非类,不可以构造对象。那怎么办呢?就用类去继承接口,用implements关键字。但是有一个注意的是,接口中声明的所有方法都必须被实现。这个时候就来了抽象类。抽象类是特殊的类,采用abstract声明。通常同它来集成接口,然后选择性的实现接口中的方法。
  这就好比,接口是整个水箱从大水缸里引水的总接口,而抽象类是用来分流的,而类就是水管。从总接口里引出来的水都必须装进水箱(所有声明的方法都要实现),而抽象类就实现了水管的选择性分流。
  继承重写的最佳体现就是监听器啦。创建一个监听器继承于java.awt.event.ActionListener,然后重写方法actionPerformed。
  JAVA之旅逐渐开始,魅力渐显。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值