在上一节的学习中,强调继承一般在需要向上转型时才有必要上场,否则都应该谨慎使用;向上转型和绑定向上转型是指子类向基类转型,由于子类拥有基类中的所有接口,所以向上转型的过程是安全无损的,所有对基类进行的操作都可以同样作用于子类;如示例代码中,Music.tune方法调用时,需要的参数是基类Instru...
分类:
编程语言 时间:
2015-09-02 02:01:56
阅读次数:
199
面向对象的三个特征:封装、继承、多态本部分是面向对象的多态性的体现1.对象的向上转型 向上转型----将子类的对象赋值给父类的引用; Student s = new Student(); Person p = s; 或者也可以写成 Person p = new Stud...
分类:
编程语言 时间:
2015-09-02 01:59:31
阅读次数:
127
1/**
* 向上转型
*
* Created by wang on 15/8/7.
*/
class Cycle {
public void play() {
System.out.println("Cycle play");
}
}class Unicycle extends Cycle{
@Override
public voi...
分类:
编程语言 时间:
2015-08-07 09:40:05
阅读次数:
155
1.向上转型:编译器自动进行,不需要声明Snowboard s = new Snowboard ();Object o = s; (相当于指向Snowboard的内部Object实例,所有类都继承于Object类)①当o试图引用 Snowboard独有的方法时,是不会成功的②当o引用被子类ove.....
分类:
编程语言 时间:
2015-07-30 19:26:30
阅读次数:
187
多态:父类的引用指向子类的对象.* 父类的引用:一是指父类变量指向那个内存空间* 二:也是父类自有的类型信息表,这个表是任何对象都具备的,和继承多态无关.* 子类的对象:一是指子类的那个堆内存空间* 二:也是指子类的那个类型信息表* 多态(向上转型):就是用父类对象的类型信息表去调用子类类型信息表中...
分类:
编程语言 时间:
2015-07-27 12:47:50
阅读次数:
125
java 转型问题其实并不复杂,只要记住一句话:父类引用指向子类对象。什么叫父类引用指向子类对象,且听我慢慢道来.从2个名词开始说起:向上转型(upcasting) 、向下转型(downcasting).举个例子:有2个类,Father是父类,Son类继承自Father。Father f1 = ne...
分类:
编程语言 时间:
2015-07-26 05:56:41
阅读次数:
179
一直不太明白这个概念,于是在网上搜索了一下文章转载自:http://www.cnblogs.com/fickleness/p/3149011.html转型是在继承的基础上而言的,继承是面向对象语言中,代码复用的一种机制,通过继承,子类可以复用父类的功能,如果父类不能满足当前子类的需求,则子类可以重写...
分类:
编程语言 时间:
2015-07-17 00:05:51
阅读次数:
157
从JDK1.5开始提供泛型的概念,泛型实质上就是使程序员定义安全的类型。在没有出现泛型之前,java也提供了对Object的引用"任意化"操作,这种任意化操作就是对Object引用进行"向下转型"及"向上转型"操作,但某些强制类型转换的错误也许不会被编译器捕捉,而在运行后出现异常,可见强制类型转换存...
分类:
编程语言 时间:
2015-07-12 00:06:12
阅读次数:
187
一、封装性 含义:对外不可见,保护属性和方法不被外部多看见 实现:通过关键字private声明,用get、set方法为外部访问。 二、继承性 含义:扩展类的功能 实现:通过关键字extends。限制:只允许单继承。 三、多态性 含义:方法的重载,对象的多态性。 向上转型程序自动完成父...
分类:
编程语言 时间:
2015-07-08 18:10:55
阅读次数:
119
好啦,这里紧接着上次没说的向下转型,请读者结合上次讨论的向上转型的例子一起探讨(其实本次代码也有加上,放心)。我们这里希望从向下转型会出现的两种基本情况进行探讨package downcasting;
//动物类Animal父类
class Animal{
String name;
int age; public String getName() {
retur...
分类:
编程语言 时间:
2015-07-07 19:37:02
阅读次数:
150