当前位置:  技术问答>java相关

大家对thinking in java 2有没有什么感悟啊??今天看内隐类的时候遇到了大问题!

    来源: 互联网  发布时间:2015-10-25

    本文导语:  在这本书的地266页 !虽然代码能看的懂但是它说的思想好象有点难理解,今天一天看了三遍还是没有头绪,主要是 public class parce1 {    public wrapping wrap(int x){    return new wrapping(x){    public int value(){    ret...

在这本书的地266页 !虽然代码能看的懂但是它说的思想好象有点难理解,今天一天看了三遍还是没有头绪,主要是
public class parce1 {
   public wrapping wrap(int x){
   return new wrapping(x){
   public int value(){
   return super.value()*47;
   }
   };
   }
 public static void main(String[] args) {
    parce p = new parce();
    wrapping w=p.wrap(10);
  }
}
它说当BASE CLASS需要一个带有引数的构造函数时使用!不解的啊 !
这么一段,很是头痛,后面一页说的的FINAL参数更是不用说了,
最后还有一点感觉就是BRUCE ECKEL的思想好象很怪,有些个地方他把INTERFACE和CALSS等同的看,就是说接口和类有那么的类似啊!

|
我也恰好在看这本书,以下是我的一点拙见,欢迎讨论:
首先,我们注意到这里所谓的BASE CLASS指的是Wrapping Class(P264):
class Wrapping{
private int i;
public Wrapping(int x) {i=x;}//带有引数的构造函数
public int value() {return i;}
}
这个匿名类的基类是Wrapping,上面的代码展示了在这种匿名类的情况下如何正确初始化基类。
再者,对于final,编译器说当本地变量(local variable)被内部类使用时都应当为final。我也不知其确切原因,但很奇怪其实匿名类的基类用了这一变量却用不着定义为final。
至于interface和class,我觉得可以认为interface就是abstract class,因此在某些地方会等同看待!
还请大家给出高见!

|
我也是刚刚学!看过这本书的第2章感觉它的翻译特别扭!建议如果初学,最好不要看!
另外我从其他的书中看到,声明为abstract的类必须被子类化,不可能用new来创建这种类的实例!也就是说这个类是父类,而接口是在它的父类的基础上,来声明实现某种行为的子类!而且接口好象可以创建子类!用“好象”,是因为我是新手,水平低!从这一点看,接口与 abstrct类又是不同的!所以我的拙见接口是类,但它的存在必须要有其父类!而它只实现父类没有实现的行为!
    拙见!若有错,请大家赶紧批评,多谢!

|
我上个礼拜刚看完!
"BASE CLASS需要一个带有引数的构造函数时使用!"这个问题一楼朋友说的很对.
侯先生译的很清楚啊!!!

我觉得interface 跟 class 是弟兄两个,各有个的用出. interface 和 内隐就是为拉实现C++中的多重继承.(他也是为类服务的)

他们同出自Object吧!!
33646321       现在看P400

|
Java里面接口是为了实现多重继承,纯虚函类是为了实现多态!
再java里面,接口必须由类来实现,纯虚函类如果需要实例化,就必须要子类化,也就是纯虚类不能拥有对象,这个c++一样,不一样的是c++包含的虚函数并不一定是纯虚函数,而java没有这个概念。java中只要一个类中有一个虚函数,那么那个类就是虚类,不能拥有对象。

其实,看你怎么理解了,接口跟类其实是一个东西,这就是说,面向对象编程只是个思想而已,你用c语言,照样可以面向对象编程呢!

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 早上看到China-Pub已经有<Thinking In C++>英文第2版卖了,而且<Thinking In Java 2E>也在预告了,强烈期待中......
  • 哪里还有Think in java!答者给分,谢谢
  • Think in Java
  • 高分征集Think in java(第2版)中文电子版
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • Think in java 源码
  • 从哪能下载Thinking in java 一书中的程序代码?
  • 请问《Think in Java》的作者的网站网址是多少?
  • 考SCJP275一定要看<Thinking In Java>吗?
  • 请问哪里可以下载thinking in java 中的源代码?
  • Thinking In Java 的第一个程序问题
  • THINK IN JAVA版本问题!
  • thinking in java 中提到的一本书
  • 急需《thinking in java》电子书!!!
  • 什么地方有 Think in java 的代码下载(50分)在线等候!!!
  • 新手求助!!哪里有《THINK IN JAVA》免费下载?
  • 《think in java》出第三版了!!!!
  • think in java书店有卖吗?
  • WEB前端 iis7站长之家
  • 关于Think in Java一书


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3