关于java用import引入自定义的类的问题 光引入包名.*不行吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于java用import引入自定义的类的问题 光引入包名.*不行吗?相关的知识,希望对你有一定的参考价值。
package myPackage;
public class Protected
protected void p()
System.out.println("protected method");
package myPackage;
public class Package
public Package()
Protected p = new Protected();
p.p();
public static void p()
System.out.println("Package public method");
import myPackage.*;
//import myPackage.Package; //没有这个就不能用new Package?
public class ProtectedPackage
public static void main(String[]args)
Protected newp = new Protected();
Package pp = new Package(); //??????????????????????
问号那里报错。为什么Protected就可以创建对象?Package就不行呢 必须把那句注释了的import加上?
还有为什么就不用import myPackage.Protected 而必须import myPackage.Package; ?
你重复的类名是java.lang.Package,而我们默认就是导入了java.lang.*这个包的,也就是说你导入的包中包含了两个同名的类,你必须用完整的路径来说明你用的是哪一个类,你如果把Package类改名为MyPackage就不用了。
怎么样使用java包里面提供的类?自己定义的类名可以和包中的类名一样吗?怎么知道使用了java包里面的类?
这要了解关键字的概念 。 要使用包里面的类就要引入这个包, 自己定义的类名可以和包里的类名一样但是不建议这么使用,因为为了规范化。人家包里面的类定义的很规范,所以无需自己定义。关于如何知道包里面类的情况,建议看一下文档。做java开发是离不开文档的。文档里面很清楚的告诉了都有什么功能函数。 参考技术A 使用import导入,自己的类可以与包中的类名可以像同,使用类的时候是要加载, 参考技术B import 导入包即可,在build path里把要使用的包导入一下。不同包里类名是可以重复的。以上是关于关于java用import引入自定义的类的问题 光引入包名.*不行吗?的主要内容,如果未能解决你的问题,请参考以下文章