Java也可以创建一种类专门用来当作父类,这种类称为“抽象类”。抽象类的作用有点类似“模版”,其目的是要设计者依据它的格式来修改并创建新的类。但是并不能直接由抽象类创建对象,只能通过抽象类派生出新的类,再由它来创建对象。抽象类定义规则:1、抽象类和抽象方法都必须用abstract关键字来修饰。2、抽...
分类:
编程语言 时间:
2014-11-28 11:40:43
阅读次数:
161
J2SE 1.4在语言上提供了一个新特性,就是assertion(断言)功能,它是该版本在Java语言方面最大的革新。在软件开发中,assertion是一种经典的调试、测试方式。jvm 断言默认是关闭的。断言是可以局部开启的,如:父类禁止断言,而子类开启断言,所以一般说“断言不具有继承性”。断言只适...
分类:
编程语言 时间:
2014-11-28 09:56:11
阅读次数:
147
“成员变量,静态方法看左边;非静态方法:编译看左边,运行看右边。”意思是:当父类变量引用子类对象时(Fu f = new Zi();),在这个引用变量f指向的对象中,他的成员变量和静态方法与父类是一致的,他的非静态方法,在编译时是与父类一致的,运行时却与子类一致(发生了复写)。例:class Fu ...
分类:
编程语言 时间:
2014-11-28 08:45:00
阅读次数:
1114
Object类
Object类是所有类,数组,枚举类的父类,也就是说,java允许把任何类型的对象赋值给Object类型的
变量,当定义一个类是没有石油extends关键字为他显示指定父类时,则该类默认继承Object父类
因为所有的类都是Object类的子类,所有任何java对象都可以调用Object类的方法,Object类提供了如下的
几个常用的方法
1.boolean equa...
分类:
其他好文 时间:
2014-11-27 23:44:58
阅读次数:
349
我们都知道oc是面向对象的,但是oc是由c语言扩展而来的,c语言中的int 等类型都不是对象,那么oc 是如何拥有“对象”特征的呢?oc提供了NSValue 和 NSNumber 来封装c语言的基本类型,这样就具有来面向对象的特征了。。。NSValue是NSNumber的父类。NSValue代表更通...
分类:
其他好文 时间:
2014-11-27 23:36:53
阅读次数:
274
Android 开发自定义View;1、继承View类,重载父类方法(根据自己的需要进行重载);2、修改XML布局...
分类:
移动开发 时间:
2014-11-27 20:34:49
阅读次数:
257
构造过程和析构过程阶段构造Swift 的构造过程分为两个阶段:第一个阶段,每个存储型属性通过引入自己的构造器来设置初始值。第二个阶段,在新实例准备使用之前进一步定制存储型属性。安全检查在构造的过程中, Swift 会进行四种安全检查。安全检查 1指定构造器必须保证它所在类引入的所有属性都必须先初始化完成,之后才能将其它构造任务向上代理给父类中的构造器。比如下面这段代码就是错误的:class Foo...
分类:
编程语言 时间:
2014-11-27 18:28:53
阅读次数:
190
virtual和abstract都是用来修饰父类的,通过覆盖父类的定义,让子类重新定义。它们有一个共同点:如果用来修饰方法,前面必须添加public,要不然就会出现编译错误:虚拟方法或抽象方法是不能私有的。毕竟加上virtual或abstract就是让子类重新定义的,而private成员是不能被子类...
分类:
其他好文 时间:
2014-11-27 09:09:19
阅读次数:
139
Effective Java中提出一个原则,尽量避免采用继承的方式来扩展某个类的属性及方法,除非那个类是专门被设计出来用于扩展的,以及子类与父类有着明显的is-a的关系,原因也很简单,如果那个类不是专门被设计出来用于扩展的或者那个类是由你自己维护的,在继承父类后,可能会覆盖父类实现的某个方法,但.....
分类:
其他好文 时间:
2014-11-26 22:13:10
阅读次数:
195
多继承的指针转化跟数据在内存的布局有极大的关系。目前,用msvc11和gcc4.8.3去测试指针转化之后的结果。发现只要不涉及编译增加虚表指针的情况下,派生类的地址多数是和继承列表的首个父类地址相同。当然会有其他问题影响到布局的指针转化。此次要提的内容是,别使用c_style指针转化。正确的指针转化来自于:dynamic_cast/static_cast。
编译器内部生成的指针对象有某个反射机制...
分类:
其他好文 时间:
2014-11-26 20:56:44
阅读次数:
210