在 Java 中导入和扩展类有什么区别
在 Java 中导入和扩展类有什么区别
导入不会改变您的程序,它只是允许您编写声明类的简短形式。在您自己的类中,您可以使用 Java 库中任何包中的任何其他类。
假设您想使用 Scanner 类从键盘获取输入。java.util.Scanner sc = new java.util.Scanner(System.in);
您可以简单地写而不是写Scanner sc = new Scanner(System.in);
。
如果您导入包或包后跟类顶部的类名,即 importjava.util.*;
或 import java.util.Scanner;
扩展一个类并不像导入一个类那么简单。当您扩展类时,您将扩展类的所有实例(字段)和方法添加到您自己的类中。换句话说,您可以访问扩展类的所有字段和方法。
导入意味着您可以以非限定方式引用它。例如
import java.util.List;
List list = ...
与
java.util.List list =
扩展是完全不同的,意味着从类继承行为和结构。
当在您的类中引用一个与您的类不在同一个包中的类时,您需要导入另一个类。
当您想使用 oop继承时,您可以扩展一个类 - 即您的类具有超类的功能+您在类中编写的任何内容。
这两件事相当不同,所以也许您应该创建一些简单的程序,并亲自看看明显的区别。
简单:
进口是指有关系。使用关键字new。
扩展指的是一种关系。随着关键字extends。
请参考此链接作为很好的例子。
扩展
扩展意味着增强现有类的功能。
导入
导入意味着使用一些 api 作为您的类的助手进行设计。
首先,import 是用来提高编译器的效率以找到正确的类的主要区别,是 import 使用聚合(has-a)概念&在扩展中我们
在 has-a 或 import 中使用(is-a)关系,我们的类的 obj 不与导入类保持生命周期关系,我们需要获取我们想要在应用程序中使用的特定类的 obj,但在扩展中,我们类的 obj 与父类建立生命周期关系。 .. 如果我是对的,那么很高兴,否则请给出正确的答案....
导入一个类使我们能够访问它的预定义方法。我们不能更改这些方法,但我们可以使用它们。扩展类意味着我们可以覆盖要继承的类中定义的方法。
包导入只是告诉类加载器在何处查找您的类以及区分具有相同名称的类的一种方式。类扩展告诉 JVM 类之间的层次关系。一旦找到类,OO 规则就适用。
Import 是一个可选子句,它声明您将在潜在的类接口或枚举中使用哪个类。扩展对类说她可以使用该父类的功能。
要扩展公共类,您需要先导入它。
这是两件非常不同的事情。
导入一个类,使您可以使用该类,而无需限定您正在编写的当前类中的全名。
import java.util.Scanner // now you can use the Scanner class in your code like so: Scanner stdin = new Scanner(System.in); // instead of having to do java.util.Scanner stdin = new java.util.Scanner(System.in);
扩展一个类就是创建一个新类,它是某个其他类的子类。这将允许您添加或更改您正在扩展的类的功能。
// this is a very contrived example public class EmptyList extends ArrayList { @Override public boolean add(Object o){ return false; // will not add things to a list } }