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

java基本概念的问题

    来源: 互联网  发布时间:2014-12-31

    本文导语:  困惑1: 类ServletOutputStream是抽象类, (public abstract class ServletOutputStream extends java.io.OutputStream)按定义是不能实例化的但是书上又有如下的语句 ServletOutputStream sos=response.getOutputStream(); (其中response是一HttpServletRespon...

困惑1:
类ServletOutputStream是抽象类,
(public abstract class ServletOutputStream extends java.io.OutputStream)按定义是不能实例化的但是书上又有如下的语句
ServletOutputStream sos=response.getOutputStream();
(其中response是一HttpServletResponse),显然sos是一个对象,这是怎么回事?

困惑2:
形如如下的语句
HttpSession session=request.getSession(true);
(request是一个HttpServletRequest)
HttpSession是接口,session是一个实现了这个接口的对象
那么session究竟属于哪个类?

|
你得理解抽象类和接口的含义。抽象类是包含一些共有属性和空的方法的类,接口是只有空方法的对象定义。他们不能直接实例化,但可以通过他们来得到他们子类的对象。一个类扩展了抽象类或接口,也就是该类必须实现该接口或抽象类的所有方法,而该类同样是含有该抽象类和该接口。采用这种方式来得到一个子类的对象是由于方法的重载。从而可以动态地调用不同的对象。考查两个类servoutputstream1和servoutputstream2都扩展了类ServletOUtputStream。但他们实现的方法内容是不同的。通过这一句,ServletOutputStream sos=response.getOutputStream();无论response得到是sevoutputstream1还是servoutputstream2的实例,都可以赋给对象sos,因为它是他们的父类。而在调用方法的时候,由于重载,将调用实际上真正被获得的子类的方法。所以,抽象类只是提供一种规范的接口,你的类只要满足了这些规范(继承该类),就能实现该类所规定的功能。而不能你是采用什么具体的类来做,在程序运行中会自动根据你的程序真正实例化的子类来得到真正的实例化对象。接口也是如此。只是接口没有属性,比抽象类更加的自由。接口可以说是java的精髓。没办法一下子说清楚。session只是你实现了这个接口的子类的对象,用接口只是因为要实现该功能只需要有该接口的方法就行,而不需要知道其他的关于该对象的属性和方法。至于调用的具体方法是那一个类的,将由你得到的实例化字类对象来决定。

|
不能实例化是指不能用new操作符对其进行实例化

    
 
 

您可能感兴趣的文章:

  • Java有没有集合的概念
  • 非常简单的些java概念问题
  • java基本概念问题
  • 企业级的java应用是什麽概念?包含那些方面?
  • 一个java基本概念的问题...
  • 请问在java,jsp中有函数的概念吗?
  • 请问java语言中的构建器的概念,高分请教,
  • 小弟做了Java大半年了,竟然不知道OA是什么。哪位大侠能够给我一个全称或者概念就行了!分数太多了,一定给分。
  • java中有控件数据组这一个概念吗?如有应如何声明和引用呢?
  • 请教:JAVA中说什么类的实例,那是怎么样的一个概念呢?
  • 想学JAVA,希望解答一个基本概念
  • 英文不是很好,为了考SCJP,好多地方看英文书,概念什么的比较模糊,哪有详细的中文的Java语言教程呀?最好和SCJP想符合的,别告诉我《Think in Java》呀!那本书我烦透了!
  • 请教两个关于 java 基本概念的问题。
  • Java Servlet 和Javabeans分别是什么概念?两者之间什么关系?
  • 一个比较难理解的问题(关于Java类的概念)
  • java基本教程之多线程基本概念 java多线程教程
  • java概念性问题,急需弄清,回答者一律10分
  • JAVA中有没有拷贝构造函数这个概念?相同类型的对象间可以直接赋值吗?
  • 请问JAVA中的MVC(model-view-controller)与mfc中的Document-View是否是一个概念?
  • 两个JAVA的基本概念问题,谢谢!
  • Java读写包括中文的txt文件时不同编码格式问题解决
  • 菜鸟的问题:java与java script 的异同??
  • java新手的问题,java高手帮忙...
  • 低级问题:.java文件交付用户怎么运行,难道也是DOS下:java xx.java?有没有.exe?
  • 请各位java高手几个java有关的问题?
  • java.sql.Date和java.uitl.Date的问题?
  • 问大哥大姐们个问题啊,小第编了自己的第一个JAVA问题。用JAVAC编译能通过啊!可是用JAVA不能执行啊!
  • 最入门级的java问题,如何运行HelloWorld.java
  • 请教一些JAVA的基本问题,初学JAVA有些迷糊,帮帮忙!总迷糊实在受不了了!
  • Linux下面的开发好的Java程序,如何部署到其他机器?开发好的Java图形程序,终端上能否用?等问题
  • 关于JAVA应用程序(Java Application)的deliver问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: stringflavor定义及介绍
  • 我对JAVA一窍不通,可惜别人却给我一个Java的project,要我做一个安装程序,请问哪里有JAVA INSTALLER下载,而且我要不要安装java的sdk才能完成此项任务?
  • java命名空间java.security类keystore的类成员方法: getdefaulttype定义及介绍
  • 新年第一天,让我们讨论一下未来一年JAVA的发展趋势! 个人认为,JAVA将主要朝ERP和JAVA手机方面发展!
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getclasspath定义及介绍
  • 我想学Java,但不知道Java的实用的开发工具有那些,Java主要用在哪些方面,EJB到底是什么东西??
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: javaserializedobjectmimetype定义及介绍
  • redhat7.3下,java程序打印中文直接用java命令执行正常,用crontab执行java命令为乱码
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: javafilelistflavor定义及介绍
  • 各位学java的朋友,学java的未来是什么,你们学java都用来开发什么项目啊!来者给分!!
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getvmname定义及介绍
  • 请问java程序中的import为什么有的用java.….*,而有的又用java.….…,有什么区别吗?


  • 站内导航:


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

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

    浙ICP备11055608号-3