首先写一个 Hello.txt 的文本
public class Hello {
public static void main(String args[]) {
System.out.println("Hello World !") ;
}
}
改为 .java 后缀的 然后
- 对源代码程序进行 编译:javac Hello.java 会出现Hello.class的字节码文件
利用JVM进行编译 编译出一套与平台无关的字节码文件(hello.class) - 在JVM进行程序的解释执行 java Hello
解释的就是字节码文件 字节码文件的后缀 不需要编写的
我们经常把 可以省略不写的 用[] 括起来
在java程序开发中最基础的单元是类 所有程序都必须封装在类中执行
[public] class 类名称 {}
你有没有想过为啥要加 public
经过对比 你就会明白了
第一个代码 中 只将Hello 改为 HelloWorld 后 编译就会报错
显然是因为HelloWorld的名字与文件名字不同
于是把第一个代码中的public弃掉 编译通过 生成了 HelloWorld.class的文件 编译执行的也是HelloWorld文件 此时文件名称依然是Hello
得出
public class 类名称 {} 类名称必须与文件名称保持一致
class 类名称 {} 类名称可以与文件名称保持不一致 但是编译后的*.class名称是class定义的类名称
之后编译 javac Hello.java
代码如下
public class HelloWorld {
public static void main(String args[]) {
System.out.println("Hello World !") ;
}
}
class A{}
class B{}
class C{}
你会发现生成了A.class B.class C.class 和 HelloWorld.class
得出
在一个.java文件里面可以有多个class定义,并且编译后会生成不同的.class文件 但只允许有一个public class定义
主方法
[public] class 类名称 {
public static void main(String [] args) { //[] 写在args前也好 写在args后也好
程序的代码由此开始执行 .
}
}
先在这里做个约定
主方法所在类 叫主类
所有的主类 都将采用public class来定义
系统输出
换行 System.out.println("Hello World !") ;
不换行 System.out.print("Hello World !") ;
//定义类 ClassOne
class ClassOne {
public static void main(String[] args) {
// 定义类 ClassOne 的对象 aa
TestOne aa = new TestOne();
//因为 a 是 public 类型的,所以这里它可用,可以设置对象 aa、a 值为 4478
aa.a = 4478;
//调用函数 print() 输出 a 的值
aa.print();
}
}
//定义类 TestOne
public class TestOne {
//定义 public 的 int 类型变量 a
public int a;
//定义方法 print()
public void print() {
//输出 a 的值
System.out.println("a 的值为" + a);
}
}