Java中导入类和扩展类之间有什么区别?
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);
继承一个类是创建一个新的类,它是另一个类的子类。这将使您能够添加或更改正在扩展的类的功能。
// 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
}
}
Scanner
,只需在整个源代码中引用它为java.util.Scanner
。对我来说,这是一个重要的观点;导入一个类并没有“做”什么,它仅仅是语法糖,使后续声明更简短。 - Andrzej DoyleScanner sc = new Scanner(System.in);
,而不用写java.util.Scanner sc = new java.util.Scanner(System.in);
。import java.util.*;
或 import java.util.Scanner;
。当你在类中引用不和你的类在同一个包中的类时,你需要导入这个类。
当你想要使用面向对象编程的继承时,你需要扩展一个类——也就是说,你的类具有超类的功能以及你在其中编写的任何内容。
这两件事情是非常不同的,所以也许你应该创建一些简单的程序,亲身体验它们之间的明显区别。
import java.util.List;
List list = ...
java.util.List list =
扩展是完全不同的,它意味着从一个类继承行为和结构。
扩展
扩展是增强现有类的功能。
导入
导入是使用一些API作为辅助工具来设计您的类。
包导入只是告诉类加载器在哪里查找您的类,并区分具有相同名称的类的一种方式。类扩展告诉JVM您的类之间的层次关系。一旦找到类,面向对象规则就适用。
Import是一个可选的子句,用于声明你的潜在类接口或枚举中将使用哪个类。Extend表示该类可以使用父类的功能。
要扩展公共类,您需要先导入它。
protected
成员,并且在任何情况下都不需要使用父类的public
功能。 - Andrzej Doyle