「java内部类单独编译」java单独编译一个类
本篇文章给大家谈谈java内部类单独编译,以及java单独编译一个类对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java匿名内部类编译错误?
- 2、Java 静态内部类作用?
- 3、如何编译单个java文件
- 4、用Javac怎么单独编译一个java文件
- 5、用Javac怎么单独编译一个java文件 !
- 6、java一个类里有几个内部类,只改了不涉及内部类的代码, 编译后的class文件,需要全都替换成新的么???
java匿名内部类编译错误?
修改: 添加注释部分内容!
public class Parcel6 {
// add a interface
public interface Contents {
int value();
}
public Contents cont() {
return new Contents() {
private int i = 11;
public int value() {
return i;
}
}; // 在这里需要一个分号
}
public static void main(String[] args) {
Parcel6 p = new Parcel6();
Contents c = p.cont();
}
}
分析:此题目原意为 直接用cont()方法 返回一个实现了contents接口的内部匿名类。
我想应该是 楼主 学习的时候 没注意到一些小小的细节。
参考资料:
Java 静态内部类作用?
1、变值权限修饰作用,在定义内部类的时候,可以在其前面加上一个权限修饰符static。此时这个内部类就变为了静态内部类。
2、在某些特殊的情况下,少了这个静态内部类还真是不行。如在进行代码程序测试的时候,如果在每一个Java源文件中都设置一个主方法(主方法是某个应用程序的入口,必须具有),那么会出现很多额外的代码。
3、最主要的时这段主程序的代码对于Java文件来说,只是一个形式,其本身并不需要这种主方法。但是少了这个主方法又是万万不行的。在这种情况下,就可以将主方法写入到静态内部类中,从而不用为每个Java源文件都设置一个类似的主方法。
这对于代码测试是非常有用的。在一些中大型的应用程序开发中,则是一个常用的技术手段。
扩展资料
例如:
对于两个类,拥有相同的方法:
class People{
run();
}
interface Machine{
run();
}
此时有一个robot类:
class Robot extends People implement Machine.
此时run()不可直接实现。
interface Machine{
void run();
}
class Person{
void run(){
System.out.println("run");
}
}
class Robot extends Person{
private class MachineHeart implements Machine{
public void run(){
System.out.println("heart run");
}
}
public void run(){
System.out.println("Robot run");
}
Machine.getMachine(){returnnew MachineHeart();
}
class Test{
publicstaticvoid main(String[] args){
Robot robot=new Robot();
Machine m=robot.getMachine();
m.run();
robot.run();
}
}
参考资料来源:百度百科-静态内部类
如何编译单个java文件
javac 用于编译Java文件,格式为:
java [options] [sourcefiles] [@files]
其中:
options:命令行选项;
sourcefiles:一个或多个要编译的源文件;
@files:一个或多个对源文件进行列表的文件,有时候要编译的文件很多,一个个敲命令会显得很长,也不方便修改,可以把要编译的源文件列在文件中,在文件名前加@,这样就可以对多个文件进行编译,对编译一个工程很有用,方便,省事。
有几个比较重要的选项:
-d 用于指定编译成的class文件的存放位置,缺省情况下不指定class文件的存放目录,编译的class文件将和源文件在同一目录下;
-classpath 可以简写成-cp,用于搜索编译所需的class文件,指出编译所用到的class文件的位置,如jar、zip或者其他包含class文件的目录,指定该选项会覆盖CLASSPATH的设定;
-sourcepath用于搜索编译所需的源文件(即java文件),指定要搜索的源文件的位置,如jar、zip或其他包含java文件的目录;
需要注意windows下和linux下文件路径分隔符和文件列表(即-classpath和-sourcepath指定的文件)分隔符的区别:
windows下文件路径分隔符用 \ ,文件列表分隔符用分号 ;
linux下文件路径分隔符用 / ,文件列表分隔符用冒号 :
用Javac怎么单独编译一个java文件
对单个*java文件进行编译的方法是利用javac工具。
1. 编写Hellworld.java源码
新建一个Hellworld的java文件,代码如下:
package com.csdn.test;
public class Say {
/**
* @param args
*/
public static void main(String[] args) {
System.out.println("hello,world!");
}
}
2、编译Hellworld.java源码
执行javac命令编译源代码,下面得蓝色部分说明javac执行成功了,并在当前目录下生成了Say.class文件,如下:
Microsoft Windows [版本 6.1.7600]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
C:/Users/Administratord:
D:/cd temp
D:/tempjavac Hellworld.java
用Javac怎么单独编译一个java文件 !
C:\Users\tonycd C:\Users\tony\Desktop\test
C:\Users\tony\Desktop\testjavac Helloworld.java
C:\Users\tony\Desktop\testjava Helloworld
ok.............
C:\Users\tony\Desktop\test
打开命令行(CMD),定位(cd命令)到JAVA文件所在目录;
javac 文件名.java,得到编译的class文件;
java 文件名(不含后缀),运行;
前提是必须配置了正确的环境变量,java,javac命令可用.
java一个类里有几个内部类,只改了不涉及内部类的代码, 编译后的class文件,需要全都替换成新的么???
一般不会出现问题的,只需要替换修改过的类的class文件就行了,没遇到这个问题。
java内部类单独编译的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java单独编译一个类、java内部类单独编译的信息别忘了在本站进行查找喔。