Java 源文件
一个通常的源文件,内容通常由以下几个部分:
- 包声明
- 导入声明
- 类声明
包声明
包声明语法如下:
java
package pkg1[. pkg2[. pkg3...]];package关键字- 包名
包名通常由小写字母组成,不能以数字开头,不能包含特殊字符。
包声明必须放在源文件的第一行,如果源文件中没有包声明,那么该源文件中的类将属于默认包。
导入声明
导入声明语法如下:
java
import pkg1[. pkg2...].classname;import关键字- 包名
- 类名
导入声明用于导入其他包中的类,以便在当前源文件中使用。
导入声明可以放在包声明之后,类声明之前。
类声明
类声明语法如下:
java
[public] class className [extends superclass] [implements interface, ...] {
// 类体
}public关键字- 类名
类名通常由大写字母组成,不能以数字开头,不能包含特殊字符。
类声明可以放在导入声明之后,也可以放在包声明之后。
类体中可以包含成员变量、方法、构造函数等。

示例
写一个游戏角色
java
// 这是包声明
package com.example.game;
// 这是包导入
import java.util.Random;
// 这是类声明
public class Character {
// 这是成员变量,用于存储角色的属性
// 角色名
private final String name;
// 角色生命值
private int health;
// 角色攻击力
private int attack;
// 这是构造函数,用于创建角色对象
public Character(String name, int health, int attack) {
this.name = name;
this.health = health;
this.attack = attack;
}
// 这是方法,用于攻击其他角色
public void attack(Character target) {
Random random = new Random();
int damage = random.nextInt(attack);
target.takeDamage(damage);
}
// 这是方法,用于受到伤害
public void takeDamage(int damage) {
// 这是方法体,用于处理受到伤害的逻辑
System.out.printf("[%s]受到了[%3d]点伤害\n", name, damage);
health -= damage;
if (health <= 0) {
System.out.printf("[%s]被击败!\n", name);
}
}
// 这是方法,用于获取角色的属性 名字
public String getName() {
return name;
}
// 这是方法,用于获取角色的属性 生命值
public int getHealth() {
return health;
}
// 这是方法,用于获取角色的属性 攻击力
public int getAttack() {
return attack;
}
public static void main(String[] args) {
// 这是主方法,程序的入口
// 创建两个角色对象,初始化名称、生命值、攻击力
Character player = new Character("玩家", 100, 20);
Character enemy = new Character("敌人", 80, 15);
// 让玩家攻击敌人
player.attack(enemy);
// 让敌人攻击玩家
enemy.attack(player);
// 让两者对战,直到有一方生命值小于等于0
// 回合制,你打我一下,我打你一下
Character attacker = player;
Character defender = enemy;
while (player.getHealth() > 0 && enemy.getHealth() > 0) {
attacker.attack(defender);
Character temp = attacker;
attacker = defender;
defender = temp;
}
}
}运行结果如下:
text
[敌人]受到了[ 19]点伤害
[玩家]受到了[ 12]点伤害
[敌人]受到了[ 4]点伤害
[玩家]受到了[ 10]点伤害
[敌人]受到了[ 4]点伤害
[玩家]受到了[ 3]点伤害
[敌人]受到了[ 3]点伤害
[玩家]受到了[ 4]点伤害
[敌人]受到了[ 2]点伤害
[玩家]受到了[ 12]点伤害
[敌人]受到了[ 18]点伤害
[玩家]受到了[ 9]点伤害
[敌人]受到了[ 3]点伤害
[玩家]受到了[ 6]点伤害
[敌人]受到了[ 5]点伤害
[玩家]受到了[ 4]点伤害
[敌人]受到了[ 5]点伤害
[玩家]受到了[ 10]点伤害
[敌人]受到了[ 18]点伤害
[敌人]被击败!