Q:程序中A句实例化了抽象类OutputStream 怎么回事?抽象类不是不能实例化的么?
import java.net.*;
import java.io.*;
public class TCPClient {
public static void main(String[] args) throws Exception {
Socket s = new Socket("222.91.106.117", 6666);
OutputStream os = s.getOutputStream(); // A
DataOutputStream dos = new DataOutputStream(os);
dos.writeUTF("LJ be bravery!");
dos.flush();
dos.close();
s.close();
}
}
A:A句并没有实例化了抽象类OutputStream
OutputStream os 只是声名一个类型为OutputStream 变量
s.getOutputStream(); 是获取一个抽象类OutputStream 的实例对象
基础最重要 好好看一下基础
Q:String urlStr = "http://dict.baidu.com/";
URL url = new URL(urlStr);
URLConnection con = url.openConnection();
int contentLength = con.getContentLength();
URLConnection在API中定义为public abstract class URLConnectionextends Object
A:URLConnection为抽象类表示本身不能被实例化,即:URLConnection uc= new URLConnection();这就是一种错误的写法,但是URLConnection有两个子类:HttpURLConnection和JarURLConnection , url.openConnection()方法返回肯定就是这两个子类中的一个,这是java多态性的一种体现,想必楼主应该可以相通了吧!
Q:抽象类 URLConnection 是所有类的超类,它代表应用程序和 URL 之间的通信链接。此类的实例可用于读取和写入此 URL 引用的资源。这是API上写的 为什么说此类的实例?
A:java的多态性就是体现在用一个父类声明,可以实例化其子类对象!我举个例子:譬如:
abstract class Person{....} class Student extends Person{...},表明这个Student类继承了抽象类Person,我们在程序中可以这么声明:Person p = new Student();这里就是用父类声明,实例化其子类对象,这个Student对象也能说成是抽象类Person的实例。不知道这么说你可理解了!
相关推荐
以下将详细介绍如何在Java中处理抽象类实例化的问题。 首先,理解抽象类的主要用途是为提供一种接口或模板,让它的子类去具体实现。如果尝试直接实例化抽象类,编译器将会报错。但是,抽象类可以拥有构造方法,这是...
在深入探讨Java抽象类与抽象方法之前,我们首先需理解其基本概念以及它们在面向对象编程中的作用。Java作为一种广泛使用的编程语言,提供了多种机制来实现代码的复用性和灵活性,其中抽象类和抽象方法是关键特性之一...
通过学习和熟练掌握Java抽象类,开发者能够更好地设计和组织代码,提高代码的灵活性和可维护性,是成为一名优秀Java程序员的必备技能之一。在实际开发中,合理利用抽象类和接口,可以帮助我们构建出高效、可扩展的...
在Java中,抽象类是一种不能被实例化的类,它包含抽象方法,这些方法没有具体实现。抽象方法的声明使用`abstract`关键字。创建抽象类的目的是为其他类提供一个公共的基类,这些子类可以共享一些共同的属性和行为。...
JAVA抽象类和抽象方法实例分析 JAVA抽象类和抽象方法是Java面向对象程序设计中非常重要的概念,它们是Java编程语言的基础组成部分。抽象类和抽象方法可以帮助开发者更好地组织和设计程序架构,提高代码的可读性和...
抽象类的存在意义是为了让子类继承,抽象类自己不能被实例化。抽象类中的抽象方法只能在子类中实现,父类中的抽象方法在父类中实现没有任何意义。 二、抽象类的使用方法 抽象类的使用方法是使用 abstract 关键字来...
### Java抽象类与接口的区别 #### 一、引言 在Java编程中,抽象类(Abstract Class)与接口(Interface)都是实现抽象的关键工具。它们各自有着独特的优势和适用场景,掌握这两者的区别有助于开发者更好地设计系统...
在Java中,抽象类是一种不能被实例化的特殊类,它用于定义一类对象的通用特性。抽象类通常包含抽象方法,这些方法没有具体的实现,由子类根据需求进行重写。在宠物系统的上下文中,抽象类可能被称为`Pet`,它定义了...
首先,不能直接实例化抽象类`A`;其次,`A`的实例不能调用`f()`方法,因为它没有具体实现;第三,`B`类虽然扩展了`A`,但并没有提供`f()`方法的具体实现,因为它应该是一个抽象方法;最后,如果`A`是抽象类,`f()`...
抽象类是一种不能被实例化的类,它包含抽象方法,这些方法没有具体的实现。抽象方法的存在是为了让子类去完成具体的实现,这样就将通用的功能与特定的实现细节分离开来,提高了代码的可扩展性和可维护性。例如,我们...
2. **抽象类实例化**: - 抽象类不能直接实例化,只能通过继承并实现其抽象方法来创建子类实例。 3. **final与抽象类**: - 抽象类不能声明为final,因为final表示禁止继承,而抽象类的目的就是被继承。 4. **...
Java抽象类接口与多态PPT教案学习 Java抽象类接口与多态是Java编程语言的核心概念,本篇资源文件将详细介绍Java中的抽象类、接口和多态的概念、特点和应用。 一、抽象类 抽象类是Java中的一种特殊的类,它不能被...
- **实例化限制**: 抽象类本身不能被实例化,即不能使用`new`关键字创建抽象类的对象。 - **子类实现**: 如果一个子类继承自抽象类,则必须实现父类中的所有抽象方法;如果子类未实现所有抽象方法,则该子类也必须...
首先,抽象类是一种不能被实例化的特殊类,它通常包含抽象方法,即没有具体实现的方法。创建抽象类的目的是为了提供一个通用的基类,让其子类继承并实现具体的功能。抽象类可以有构造方法,也可以包含非抽象方法(即...
1. **抽象类**:抽象类是一种不能被实例化的类,它可以包含抽象方法(没有实现的方法)和具体方法(有实现的方法)。抽象类的主要目的是为子类提供一种共有的基本结构,子类必须实现所有抽象方法才能被实例化。 2....
在Java中,抽象类是一种不能被实例化的类,它主要用来作为其他类的基类,提供部分或全部未实现的方法。抽象类通过使用`abstract`关键字声明。例如: ```java abstract class Animal { abstract void makeSound(); ...
"Java抽象类和接口和继承之间关系" Java抽象类和接口是两种不同的概念,它们之间存在着继承关系。在Java中,抽象类(abstract class)和接口(interface)都是用来描述对象的行为和状态的,但它们之间有着明显的...
在这个“Java抽象类和接口相关操作源码”压缩包中,你可能会找到一系列的实例代码,帮助初学者更好地理解和运用这两种特性。 **抽象类(Abstract Class)** 抽象类在Java中是一种不能被实例化的类,它主要用于被...
在Java编程语言中,实例化对象是创建类的实例,使其具有特定状态和行为的过程。这个过程涉及到几个关键步骤,让我们深入探讨一下。 首先,我们需要一个类,它是创建对象的蓝图。在Java中,我们使用`class`关键字来...