1. 如果子类没有定义构造方法,则调用父类的无参数的构造方法,. 2. 如果子类定义了构造方法,不论是无参数还是带参数,在创建子类的对象的时候,首先执行父类无参数的构造方法,然后执行自己的构造方法。 3. 如果子类调用父类带参数的构造方法,可以通过super(参数)调用所需要的父类的构造方法,切该语 ...
分类:
其他好文 时间:
2016-05-06 23:19:15
阅读次数:
264
上一篇博客(http://blog.csdn.net/qq_32059827/article/details/51328638)最后对多态的弊端做了显示,这里解决这个弊端。如下:
/*
多态的弊端:
不能使用子类的特有功能。
我就想使用子类的特有功能?行不行?
行。
怎么用呢?
A:创建子类对象调用方法即可。(可以,但是很多时候不合理。而且,太占内存了)
B:把...
分类:
编程语言 时间:
2016-05-06 16:24:50
阅读次数:
148
先说说组合继承。最常用的继承方式组合继承,其最大的问题是无论在什么情况下,都会调用两次超类型的构造函数:一次是在创建子类原型的时候,另一次是在子类型构造函数内部。 组合继承是通过原型继承方法和原型属性,构造函数继承实例属性。但子类通过原型也继承了超类型的全部实例属性(方法暂且不说),即超类的实例属性 ...
分类:
编程语言 时间:
2016-05-06 00:47:23
阅读次数:
134
刚开始接触时,很不容易分清楚 创建子类或者多态的情况: /* 创建子类的情况: 1.父类静态代码块 2.子类静态代码块 3.父类构造块 /实例变量(new 创建的变量成员)//谁在前执行谁,执行完再执行构造函数 4.父类构造函数//父类构造函数有方法,如果方法子类有就执行子类的方法,没有才再执行父类 ...
分类:
其他好文 时间:
2016-05-02 00:31:06
阅读次数:
196
一.类别(Category) 类别(Category)是一种可以为现有的类(包括类簇:NSString...,甚至源码无法获得的类)添加新方法的方式无需从现有的类继承子类。类别添加的新方法可以被子类继承。 注:继承(inheritance)无法为一个类簇创建子类。类别不能添加实例变量。 1. 创建类 ...
分类:
其他好文 时间:
2016-04-05 22:44:12
阅读次数:
147
一 、 抽闲累和抽象方法 1、 抽象类中的抽象方法必须被子类实现 除非子类也是抽象的。 2、抽象类不能呗实例化 但是抽象类的引用可以志向一个具体实现他的子类对象 3、 抽象类中的有构造方法 不能通过实例化的方式调用 但是可以在创建子类对象时候调用 所以说抽象累的构造方法是为让子类调用的 4、 抽象类 ...
分类:
编程语言 时间:
2016-03-31 02:09:50
阅读次数:
185
super关键字代表了父类空间的引用。 super关键字的 作用: 1. 子父类存在着同名的成员时,在子类中默认是访问子类的成员,可以通过super关键字指定访问父类的成员。 2. 创建子类对象时,默认会先调用父类无参的构造方法,可以通过super关键字指定调用父类的构造方法。 super关键字调用 ...
分类:
其他好文 时间:
2016-03-29 00:54:07
阅读次数:
169
抽象类(abstract class):抽象类不能创建对象,主要用来创建子类。Java中的抽象类使用 abstract 修饰符定义。 抽象数据类型(abstract data type ADT):抽象数据类型指明了可能的类型和允许进行的操作,但是没有提供实现。 访问标识符(access specif
分类:
编程语言 时间:
2016-02-29 12:07:14
阅读次数:
256
学了线程,收获不少,记录下了吧. 一、线程的主要两种实现方法。 1.继承Thread类,重写run()方法 main方法中创建子类,引用调用start()方法 实例如下: //继承Thread类,重写run()方法 public class ThreadOne extends Thread { pu
分类:
编程语言 时间:
2016-02-28 13:50:27
阅读次数:
224
父类代码: 1 public class Father { 2 3 4 private String name;//姓名 5 6 private int age;//年龄 7 8 //吃饭的方法 9 public void eat(){...
分类:
其他好文 时间:
2016-01-20 19:02:11
阅读次数:
128