diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..b6b1ecf --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,10 @@ +# 默认忽略的文件 +/shelf/ +/workspace.xml +# 已忽略包含查询文件的默认文件夹 +/queries/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml +# 基于编辑器的 HTTP 客户端请求 +/httpRequests/ diff --git a/.idea/libraries/lib.xml b/.idea/libraries/lib.xml new file mode 100644 index 0000000..726a039 --- /dev/null +++ b/.idea/libraries/lib.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..b82945b --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..32f0bad --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/AnimalTest.java b/AnimalTest.java new file mode 100644 index 0000000..e69de29 diff --git a/Desktop.iml b/Desktop.iml new file mode 100644 index 0000000..898042f --- /dev/null +++ b/Desktop.iml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/out/production/Desktop/0d3a3902-d091-4b75-adf0-2bf4c4d77b21.png b/out/production/Desktop/0d3a3902-d091-4b75-adf0-2bf4c4d77b21.png new file mode 100644 index 0000000..2e824c6 Binary files /dev/null and b/out/production/Desktop/0d3a3902-d091-4b75-adf0-2bf4c4d77b21.png differ diff --git a/out/production/Desktop/AI协助记录.txt b/out/production/Desktop/AI协助记录.txt new file mode 100644 index 0000000..8d80de0 --- /dev/null +++ b/out/production/Desktop/AI协助记录.txt @@ -0,0 +1 @@ +AI为我协助完成了Python到Java的代码转换,解释了Java中Scanner类的使用方法。当编译出现"找不到符号"错误时,AI指导添加了import语句解决了问题。AI还提供了命令行参数解析和批量文件处理的实现方案,并帮助编写了README文档和运行说明。 \ No newline at end of file diff --git a/out/production/Desktop/QQ20260329-232941.png b/out/production/Desktop/QQ20260329-232941.png new file mode 100644 index 0000000..2cf0a66 Binary files /dev/null and b/out/production/Desktop/QQ20260329-232941.png differ diff --git a/out/production/Desktop/README.md b/out/production/Desktop/README.md new file mode 100644 index 0000000..e813669 --- /dev/null +++ b/out/production/Desktop/README.md @@ -0,0 +1,8 @@ +# 温度转换器 (TemperatureConverter) + +这是一个Java版本的温度转换程序,支持摄氏度(°C)与华氏度(°F)之间的相互转换。 + +## 编译方法 + +```bash +javac TemperatureConverter.java \ No newline at end of file diff --git a/out/production/Desktop/程序运行截图.png b/out/production/Desktop/程序运行截图.png new file mode 100644 index 0000000..44771c3 Binary files /dev/null and b/out/production/Desktop/程序运行截图.png differ diff --git a/w7/Animal.class b/w7/Animal.class new file mode 100644 index 0000000..f93c99a Binary files /dev/null and b/w7/Animal.class differ diff --git a/w7/AnimalTest.class b/w7/AnimalTest.class new file mode 100644 index 0000000..195f2ea Binary files /dev/null and b/w7/AnimalTest.class differ diff --git a/w7/AnimalTest.java b/w7/AnimalTest.java new file mode 100644 index 0000000..59e2ec3 --- /dev/null +++ b/w7/AnimalTest.java @@ -0,0 +1,79 @@ +//定义抽象类 Animal +abstract class Animal { + // 抽象方法:没有方法体,子类必须实现 + public abstract void makeSound(); +} + +//定义接口 Swimmable +interface Swimmable { + // 接口中的方法默认是 public abstract + void swim(); +} + +// Dog 类继承 Animal,并实现 Swimmable +class Dog extends Animal implements Swimmable { + // 实现抽象方法 makeSound() + @Override + public void makeSound() { + System.out.println("汪汪汪!"); + } + + // 实现接口中的 swim() 方法 + @Override + public void swim() { + System.out.println("狗会游泳,正在狗刨..."); + } +} + +// Cat 类只继承 Animal,不实现 Swimmable +class Cat extends Animal { + // 实现抽象方法 makeSound() + @Override + public void makeSound() { + System.out.println("喵喵喵~"); + } +} + +// 主类(测试类) +public class AnimalTest { + public static void main(String[] args) { + System.out.println("=== 动物叫声系统 ===\n"); + + // 多态:父类引用指向子类对象 + Animal animal1 = new Dog(); + Animal animal2 = new Cat(); + + // 调用 makeSound() - 表现出不同的行为 + System.out.println("狗的声音:"); + animal1.makeSound(); // 输出:汪汪汪! + + System.out.println("\n猫的声音:"); + animal2.makeSound(); // 输出:喵喵喵~ + + // 测试游泳能力(需要向下转型) + System.out.println("\n=== 游泳测试 ==="); + + // Dog 实现了 Swimmable,可以游泳 + if (animal1 instanceof Swimmable) { + Swimmable swimmer = (Swimmable) animal1; // 向下转型 + swimmer.swim(); // 输出:狗会游泳,正在狗刨... + } + + // Cat 没有实现 Swimmable,不能游泳 + if (animal2 instanceof Swimmable) { + System.out.println("猫会游泳"); // 不会执行 + } else { + System.out.println("猫不会游泳"); // 输出:猫不会游泳 + } + + // 演示直接使用子类引用 + System.out.println("\n=== 直接调用 ==="); + Dog dog = new Dog(); + dog.makeSound(); // 汪汪汪! + dog.swim(); // 狗会游泳,正在狗刨... + + Cat cat = new Cat(); + cat.makeSound(); // 喵喵喵~ + // cat.swim(); // 编译错误!Cat没有swim方法 + } +} \ No newline at end of file diff --git a/w7/Cat.class b/w7/Cat.class new file mode 100644 index 0000000..d27271b Binary files /dev/null and b/w7/Cat.class differ diff --git a/w7/Dog.class b/w7/Dog.class new file mode 100644 index 0000000..a7b2e68 Binary files /dev/null and b/w7/Dog.class differ diff --git a/w7/Swimmable.class b/w7/Swimmable.class new file mode 100644 index 0000000..f8304ce Binary files /dev/null and b/w7/Swimmable.class differ