导入和扩展类有什么区别?

在Java中导入和扩展类有什么区别

这是两件非常不同的事情。

导入一个类就是这样,你可以使用该类,而无需在你正在编写的当前类中限定全名。

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); 

扩展一个类是创建一个新类,它是某个其他类的子类。 这将允许您添加或更改要扩展的类的function。

 // 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 } } 

导入不会改变您的程序,它只允许您编写声明类的简短forms。 在您自己的类中,您可以使用Java库中任何包中的任何其他类。
假设您想使用Scanner类从键盘获取输入。 而不是编写java.util.Scanner sc = new java.util.Scanner(System.in); ,你可以简单地写Scanner sc = new Scanner(System.in);
如果你导入包或一个包后跟类顶部的类名,那就是import java.util.*; 或者我是mport java.util.Scanner;

扩展类并不像导入类那么简单。 扩展类时,您将扩展类的所有实例(字段)和方法添加到您自己的类中。 换句话说,您可以访问扩展类的所有字段和方法。

导入意味着您可以以不合格的方式引用它。 例如

 import java.util.List; List list = ... 

而不是

 java.util.List list = 

扩展是完全不同的 ,意味着从类inheritance行为和结构

在课堂上,当您引用与您的课程不在同一个课程中的课程时,您需要导入另一个课程。

当你想使用oop inheritance时 ,你扩展了一个类 – 即你的类具有超类的function+无论你在类中写什么。

这两件事情有很大的不同,所以也许你应该创建一些简单的程序,并亲眼看看明显不同的东西。

扩展
扩展意味着增强现有类的function。 输入
导入意味着使用一些api作为你的类的助手来进行设计。

首先,导入是用来提高编译器的效率,找到正确的类的主要区别,是导入使用聚合(has-a)的概念&在扩展中我们使用(is-a)关系
在has -a或import中,我们类的obj没有维护与导入类的生命关系,我们需要获取我们想要在我们的应用程序中使用的特定类的obj,但是扩展我们类的obj是一种生活与父母class级的时间关系…如果我是对的,那么快乐给予正确的答案….

导入类使我们能够访问其预定义的方法。我们不会改变那些方法,但我们可以使用它们。 扩展一个类意味着我们可以覆盖要inheritance的类中定义的方法。

简单地说:

导入是指关系。 用关键字new

Extend指IS是一种关系。 随着关键字扩展

请参考此链接以获取良好示例。

包导入只是告诉类加载器在哪里查找类以及区分具有相同名称的类的一种方法。 类扩展告诉JVM你的类之间的层次关系。 找到课程后,OO规则适用。

Import是一个可选子句,用于声明将在潜在类接口或枚举中使用的类。 该扩展说,她可以使用该父类的function。

要扩展公共类,您需要先导入它。