黑马程序员 java小总结



----------- android培训java培训、java学习型技术博客、期待与您交流! ------------

为了继承 一般规则是将所有的数据成员都被指定为private 将所有的方法指定为public 当让在特殊情况下必须做出调整 继承客视作是类的复用 继承并不是复制基类的接口

protected 可以不用new直接访问基类的protected方法 换成是public 也可以权限更广 相比之下private只能自己内部调用 protected可以说是为继承准备的访问权限修饰符

多态:
父类的引用指向子类 要是子类重写了父类的方法 则调用子类的 若没有重写而是父类中有的则只能调用父类的 若是子类有而父类没有 则不能调用 
父类的变量 不能被重写 多态的重写只针对方法

多态详解(整理)2008-09-03 19:29多态是通过:  
1 接口 和 实现接口并覆盖接口中同一方法的几不同的类体现的  2 父类 和 继承父类并覆盖父类中同一方法的几个不同子类实现的.  
一、基本概念   
多态性:发送消息给某个对象,让该对象自行决定响应何种行为。  通过将子类对象引用赋值给超类对象引用变量来实现动态方法调用

分析:  
* 为什么子类的类型的对象实例可以覆给超类引用?  
自动实现向上转型。通过该语句,编译器自动将子类实例向上移动,成为通用类型BaseClass;  
* a.play()将执行子类还是父类定义的方法?  
子类的。在运行时期,将根据a这个对象引用实际的类型来获取对应的方法。所以才有多态性。一个基类的对象引用,被赋予不同的子类对象引用,执行该方法时,将表现出不同的行为。  
 
在a1=c2的时候,仍然是存在两个句柄,a1和c2,但是a1和c2拥有同一块数据内存块和不同的函数表。

Interface
抽象类不能被实例化 只能继承不得实例
抽象类只在分配了在栈中的引用,没有分配堆中的内存。
,程序都有一个代码段,再内存中需要占据一定的内存,而抽象类没有具体的实现方法,无法具体的给它分配内存空间,所以为了安全,不JAVA不允许抽象类,接口直接实例化
作为一个新添加的的方式 借口也可以被实现为private的 就像在AD中看到的(相同的语法即使用于切套接口 也适用于嵌套类)那么private的嵌套接口能带来什么好处呢 
实现一个private的接口只是一种方式 他可以轻质该接口中的方法定义不要添加任何类型信息(也就是说不允许向上转型)


接口事实现多重继承的途径 而生成遵循某个接口的对象的典型方式就是工厂方法设计模式 这与直接调用构造器不同 我们在工厂对象上调用的是创建方法 而该工厂对象将生成接口的某个实现的对象 理论上 通过这种方法我们的代码将完全与接口的实现分离 这就是是的我们可以透明的将某个实现替换为另一个实现。。

java IO流对象
1. 输入字节流InputStreamIO中输入字节流 可以看出 inputStream是是所有的输入字节留的父类 它是一个抽象类

----------------------- android培训java培训、java学习型技术博客、期待与您交流! ----------------------

详情请查看:http://edu.csdn.net/heima



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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值