首先申明 自己现在还没有搞懂,不过感觉与下面转载处有些相通的地方,可以借鉴下吧.....搞懂的告诉我哦...
自己想搞清楚出的
java Api 中(HttpURLConnection 是继承urlConnection的)
![]()
创建个类是 public class AAA extends java.net.HttpURLConnection ....
java.net.URL url=new URL("http://XXXXXXXXX");
AAA a=(ReqeustUrl)url.openConnection();
居然报错 java.lang.ClassCastException:sun.net.www.protocol.http.HttpURLConnection cannot be cast to AAA
打印输出 System.out.println(url.openConnection().getClass().getName()); 结果为 sun.net.www.protocol.http.HttpURLConnection
怎么回事?
-------------------------------------转载处------------------------------------------
对于抽象类的一点疑问
1.在李刚著的《疯狂java讲义》第二版中,第6章抽象类的那一节,对于抽象类,有这样一句话:抽象类不能用来创建实例,只能当成父类来被继承。2.java API7.0中,HttpURLConnection是个抽象类。Class HttpURLConnectionjava.lang.Objectjava.net.URLConnectionjava.net.HttpURLConnectionDirect Known Subclasses: HttpsURLConnection--------------------------------------------------------------------------------public abstract class [color=#FF0000]HttpURLConnection[/color]extends URLConnection3. URL resource=new URL("http://www.crazyit.org/index.php");URLConnection wResp=resource.openConnection();中wResp是HttpURLConnection通过反射机制可以看到: System.out.println(wResp.getClass().getName());输出结果如下:sun.net.www.protocol.http.HttpURLConnection所以可以知道,在运行的过程中,wRsp是HttpURLConnection的实例。4.疑问:根据上面三点,现象是:第一点上描述的内容和第三点实验内容不符。这到底是怎么回事?是我的实验方法不对呢?还是对某方面知识的理解不到位?------解决方案--------------------------------------------------------不冲突1.sun.net.www.protocol.http.HttpURLConnection 继承了 java.net.HttpURLConnection2.url.openConnection()实际上返回的是一个sun.net.www.protocol.http.HttpURLConnection的实例3.因为继承的关系,子类的引用可以被赋值给一个声明为其父类的一个变量.关于第三点,java里任意一个类,都是继承自Object.你可以把其它类的引用赋值给Object变量。比如 Object obj="字符串";
来自http://www.myexception.cn/j2se/396777.html
分享到:
相关推荐
2. 继承:子类可以重写父类的同名方法,但直接调用需要使用`super`关键字。 3. 类继承:Java类单继承,接口多继承。 4. 接口:接口中的方法必须在实现类中实现,可以定义常量,但不能定义变量。 5. 接口继承:一...
- 自定义异常:通过继承Exception类或其子类,可以创建自定义异常。 4. **集合框架**: - List、Set和Map是Java集合框架的主要接口。ArrayList、LinkedList、HashSet、HashMap等是它们的常见实现类。 - 遍历集合...
- 继承:子类继承父类,获取其属性和方法。 - 多态:同一接口,不同实现,增强了代码的灵活性。 - 接口:接口是抽象方法的集合,用于实现多重继承。 3. **异常处理**: - 异常的分类:检查异常和运行时异常。 ...
4. 转换流:InputStreamReader、OutputStreamWriter用于字符流和字节流之间的转换。 5. 对象序列化:Serializable接口,以及ObjectInputStream和ObjectOutputStream的使用。 七、网络编程 1. Socket编程:TCP和UDP...
4. 自定义异常:通过继承Exception类或其子类创建自定义异常。 5. 多重catch:Java 7后允许在一个catch块中捕获多种类型的异常,简化代码。 6. 异常链:记录异常发生过程,方便追踪问题源头。 以上就是基于“java...
开发者可以通过继承这个类来创建自定义的网络请求,设置请求参数、头部信息等。 3. **NetworkDispatcher**:这是内部工作线程,负责处理 RequestQueue 中的请求,与服务器进行通信,并将结果传递回主线程。 4. **...
继承允许一个类(子类)继承另一个类(父类)的特性,多态则使得同一消息可以被不同类型的对象响应,增强了代码的灵活性。 3. **异常处理**:Java通过try-catch-finally语句块进行异常处理,提供了系统级的异常类和...
- 自定义异常:继承Exception或其子类,创建特定类型的异常。 - throws关键字:声明方法可能抛出的异常,由调用者处理。 9. **Java小程序(2 java小程序.ppt)** - Java小程序(Applet)是嵌入网页的Java程序,...
在这个项目中,开发者可能创建了一个自定义的BaseAdapter子类,覆盖其中的`getView()`方法,以便根据数据生成对应的视图。 5. 布局管理:由于项目要求单排显示,所以GridView的列数可能设置为1。此外,布局文件...
- 自定义异常:可以创建自己的异常类,继承自java.lang.Throwable或其子类。 4. **集合框架** - 集合框架包括List(如ArrayList、LinkedList)、Set(如HashSet、TreeSet)和Map(如HashMap、TreeMap)等接口及其...
- **多态**:多态是面向对象的三大特性之一,允许父类引用指向子类对象,从而实现灵活的代码设计。 4. **异常处理** - **异常**:Java使用异常来处理程序运行时的错误,学习try-catch-finally语句块的使用。 - *...
- **继承**:子类继承父类的属性和方法,实现代码复用。 - **多态**:同一消息可以被不同类型的对象响应,体现在方法重载和覆盖。 - **接口**:定义一组方法签名,实现多继承。 3. **异常处理** - **异常**:...
- **继承**:子类继承父类的属性和方法,实现代码重用和扩展。 - **多态**:同一种行为可以有不同的表现形式,例如接口实现和抽象方法覆盖。 - **接口**:定义一组行为规范,类通过实现接口来遵守这些规范。 3. ...
- Activity生命周期:详细阐述各个状态(如onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy())及其转换。 5. Android 图形图像(11.Android 图形图像.docx) - 位图和矢量图:了解如何在...
- 自定义异常:如何创建并使用自定义异常类。 5. **IO流**: - 字节流和字符流,了解InputStream、OutputStream、Reader、Writer及其子类。 - 转换流:InputStreamReader和OutputStreamWriter的使用。 - 文件...
- **异常类层次**:了解Exception类及其子类,理解Checked异常和Unchecked异常的区别。 - **try-catch-finally**:如何使用这些块来捕获和处理异常。 - **throws和throw**:掌握何时使用这两个关键字。 4. **...
继承使子类可以扩展父类的功能;多态则提供了更灵活的代码设计和复用。 3. **异常处理**: - **异常的分类**:Java中的异常分为检查异常和运行时异常。 - **try-catch-finally**:理解异常处理的基本结构,以及...
- 类与对象:理解面向对象编程的基本概念,包括封装、继承、多态。 - 构造器:知道如何创建和使用构造器初始化对象。 - 异常处理:了解try-catch-finally语句块,理解异常类型和自定义异常。 - 方法:理解方法的...
- 数据类型:包括基本数据类型和引用数据类型,以及它们的转换规则。 - 运算符:熟悉各种运算符,如赋值、比较、逻辑、位运算符等。 - 控制流:了解if语句、switch语句、循环(for, while, do-while)的使用。 -...
- 类与对象:理解面向对象编程的基础,包括类的定义、对象的创建以及封装、继承和多态的概念。 - 数据类型:熟悉基本数据类型(整型、浮点型、字符型、布尔型)和引用数据类型。 - 控制结构:深入理解条件语句...