java下包内继承时编译不过解决方案

代码源自《java核心技术一卷》

抽象表示如下:

ManagerTest.java

package inheritance;

...

public class ManagerTest

{

}

存放于:inheritance/ManagerTest.java

Manager.java

package inheritance;

...

public class Manager

{

}

存放于:inheritance/Manager.java

Employee.java

package inheritance;

...

public class Employee

{

}

存放于:inheritance/Employee.java

好了 现在编译一下

javac *.java

找不到符号

什么意思呢?

就是说  这三个类放在一个文件夹inheritance里面

一个挨着一个

可是编译的时候就是看不到对方

那怎么解决好?

方案一:

三个类仍旧一起扔在inheritance文件夹里面

把三个类开头的package inheritance注释掉   例如://package inheritance;

再次编译 javac *.java

方案二:

将需要运行main()函数的类提到文件夹外面

这里呢就是ManagerTest.java 啦

以我的实验为例:

我电脑的路径是

f:\java1\fivecptr\fivecptrone\inheritance(三个类在这)

我呢把ManagerTest.java放到了java1这个文件夹里面

f:\java1\fivecptr\fivecptrone\inheritance(剩下2个类)

.......↑......................

ManagerTest.java

然后修改代码如下

inheritance里面两个类的package 改为:

package fivecptr.fivecptrone.inheritance;

............__________↑_____________

f:\java1\fivecptr\fivecptrone\inheritance

就是把ManagerTest.java类后面的路径全部抄上去  当然"\"换成"."

TIPS:路径名不能有奇怪的符号例如:下划线_  ,  阿拉伯数字0,1...  (所以有蛋疼的fivecptr - -!)

下一步:

java1里面的ManagerTest.java 里面

1) 注释掉package  //package inheritance;

2)    开头添加   import fivecptr.fivecptrone.inheritance.*;  (和上面一样,末尾添加通识符*)

接下来 设置类路径

(win7下)

计算机-(左侧)计算机右键-属性-高级系统设置-环境变量-系统变量-新建

名字:CLASSPATH;

路径:f:java1; .;  (就是把ManagerTest.java那个类所在的文件夹java1之前的-包括java1-的路径写上去,  后面也可以再加个  .; (句号+分号, 如果方案一不行时可能是这里的问题,它表示在当前目录搜索类)

确定

重新开启console  (黑框框- -!)

cd到ManagerTest.java所在文件路径下

运行:

javac ManagerTest.java

时间: 2024-10-06 04:34:23

java下包内继承时编译不过解决方案的相关文章

Ant学习-001-ant 执行 TestNG 测试用例时 [testng] java.lang.NoClassDefFoundError: com/beust/jcommander/ParameterException 解决方案

Apache Ant 是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发.由Apache软件基金会所提供. 在日常的 Java 开发应用中,使用较为广泛(类似的项目构建工具还有 maven,感兴趣的可自行了解),同时也多是持续集成框架中的组成成员,因打算打造自己的自动化测试集成框架,因而今天尝试了一下(感谢大神 伟神 提供的 build.xml 文件和此过程中的远程支持,非常感谢!) 今天学习 ant 构建应用,通过 ant 执行 TestNG 测

JAVA中继承时方法的重载(overload)与重写/覆写(override)

JAVA继承时方法的重载(overload)与重写/覆写(override) 重载-Override 函数的方法参数个数或类型不一致,称为方法的重载. 从含义上说,只要求参数的个数或参数的类型不一致就说两个函数是重载函数,而至于返回值是否一样,没关系.同时,重载可以发生在同一个类中也可以发生在继承关系中. class A { } class B extends A { public void fun(String data1) { System.out.println(data1); } pub

JAVA继承时this和super关键字

JAVA继承时this和super关键字 本文主要讨论在方法前使用this或super关键字时,编译器在什么地方查找对应的函数. 在子类中指定this关键字.首先在本类中查找,如果本类中找不到,再在父类中查找. class A { public void fun() { System.out.println("父类的fun()"); } } class B extends A { public void test() { this.fun(); } public void fun()

Hexo 编译时 JS 混乱解决方案

之前为在 GitHub 博客上写自己的 html 网页,在 hexo 根目录下的 source 文档夹中放了自己的 js 文档,每次 hexo g 后,pubic 文档夹中的 js 文档就混乱了,与自己实际 js 不一致. 解决方案: hexo g 编译后在 public 文档夹中修改,将自己的 js 文档覆盖 hexo 编译后的 js 文档.或者 hexo d 提交到 GitHub 后直接到 GitHub 线上修改 js 文档. 博客中的 js 引用使用外链的形式.如将 js 文档上传七牛云,

在Eclipse配置并编译worldwind java2.1.0源码,选中Src目录下gov.nasa.worldwindx.examples包下ApplicationTemplate.java类文件run时提示“javax.xml.parsers.DocumentBuilderFactory.setFeature(Ljava/lang/String;Z)V”异常的解决办法

问题现象: 在Eclipse配置并编译worldwind java2.1.0源码,选中Src目录下gov.nasa.worldwindx.examples包下ApplicationTemplate.java类文件run时提示“javax.xml.parsers.DocumentBuilderFactory.setFeature(Ljava/lang/String;Z)V”异常. 解决办法: 1.定位到报错的方法为WWXML.java文件中的createDocumentBuilder方法: pub

发布或重启线上服务时抖动问题解决方案

发布或重启线上服务时抖动问题解决方案 一.问题描述       在发布或重启某线上某服务时(jetty8作为服务器),常常发现有些机器的load会飙到非常高(高达70),并持续较长一段时间(5分钟)后回落(图1),与此同时响应时间曲线(图2)也与load曲线一致.注:load飙高的初始时刻是应用服务端口打开,流量打入时(load具体指什么可参考http://www.cnblogs.com/amsun/p/3155246.html). 图1 发布时候load飙高 图2 发布时候响应时间飙高 二.问

黑马程序员——Java基础——面向对象——继承、抽象类、接口、多态、包、内部类、异常等

第一讲 继承 1.继承: 当多个类拥有相同的功能时,那么这些类不需要每个都写这些相同的功能,只需要把相同功能抽到 一个单独的类中,继承这个类就能获得这些相同的功能: (1)继承的体系结构:就是对要描述的事物进行不断的向上抽取,就出现了体系结构. 要了解这个体系结构中最共性的内容,就看最顶层的类. 要使用这个体系的功能,就用最底层的类创建对象 (2)好处: A.提高代码复用性: B.继承的出现,让类与类之间产生关系,为多态的前提 (3)特点: A.只能单继承(准确的说是java对多继承进行优化,避

黑马程序员-Java基础-面向对象—继承、构造函数、重写、final、抽象类、接口

第一讲  继承 1.  继承的作用 1) 提高代码复用性: 2) 让类与类之间产生了关系: 2.  java继承特点 1) java只支持单继承,不支持多继承 因为多继承容易带来安全隐患:当多个父类中定义了相同功能,但功能内容不同时,子类对象不确定要运行哪一个. 2) java支持多层继承:可以形成一个继承体系 利用一个继承体系的方法:阅读体系父类,了解共性功能(该体系的基本功能),具体要调用这些基本功能时,需要创建最子类的对象,为什是最子类: 一是:父类有可能不能创建兑现(如,静态类或接口):

java基础知识--继承

继承 1.继承的概念 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类. 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为. 1.类的继承格式 在 Java 中通过 extends 关键字可以申明一个类是从另外一个类继承而来的,一般形式如下: class 父类 { } class 子类 extends 父类 { } 2.继承的特性 子类拥有父类非private的属性,方法. 子类可以拥有自己的属性