第1关:什么是类,如何创建类
编程要求
-
声明一个
Dog类,给Dog类添加三个String类型的属性,分别是name,color,variety,定义两个方法,分别是,eat,run。 -
在
main方法中在Begin-End区域创建一个名为wuhuarou的Dog对象,并设置name为五花肉,color为棕色,variety为阿拉斯加。 -
使得调用
wuhuarou对象的eat方法能输出啃骨头,调用run方法能输出叼着骨头跑。
具体输出要求请看测试说明。
测试说明
测试输入:无
预期输出:使用中文冒号 名字:五花肉,毛色:棕色,品种:阿拉斯加 啃骨头 叼着骨头跑
第2关:构造方法
编程要求
在Begin-End区域创建一个Person类,给Person类定义一个无参构造方法和一个有参构造方法,有参构造方法定义两个String类型参数name和sex在main方法中调用无参构造和有参构造方法。 调用无参构造方法输出:一个人被创建了 调用有参构造方法应根据输入的数据输出对应的结果,如输入:张三,男,则输出:姓名:张三,性别:男,被创建了
测试说明
测试输入:张富贵,未知 预期输出: 一个人被创建了 姓名:张富贵,性别:未知,被创建了
总结: 对象的构造方法: 对象在被创建的时候,也就是被new的时候,会自动调用构造方法。
- 在构造方法中可以做对象初始化操作,有如下特征
- 构造方法与对象的方法不同,它是在对象创建时自动调用的
- 构造方法可以有参数,也可以无参数
- 构造方法无返回值
- 构造方法名必须和类名相同
- 如果定义的类没有声明构造方法,对象在创建时默认使用空的构造方法
第3关:选择题
编程要求
通过所学知识完成选择测试题。
测试说明
平台会对您选的的答案进行运行测试,如果实际输出与预期输出相同,则算通关。
-
1、
下列关于构造方法的说法不正确的是(C)
A、Java语言规定构造方法名必须与类名相同
B、Java语言规定构造方法没有返回值,且不用void关键字声明
C、构造方法不可以重载
D、构造方法只能用new关键字来创建
-
2、
类Test定义如下:
public class Test{public float method1(){System.out.println("方法1");return 1.5;}}
将下列哪些方法插入到
A、第7行是合法的(CD)public float method1(){
B、
System.out.println("方法2"); return 1.1; }public Test1(){ System.out.println("hello"); }
C、public float method1( int a){ System.out.println("方法2"); return a+0.5; }
D、public Test(){ System.out.println("hello"); }
第4关:This关键字
编程要求
右侧Begin-End区域中已经编写好了代码,但是输出结果不能让我们满意,请根据所学知识修改代码,使其能输出如下结果: name:baby age:45 sex:女
测试说明
测试输入: baby,45,女 预期输出: name:baby age:45 sex:女


第5关:类与对象练习
编程要求
我已经帮你创建好了两个文件一个是WuMingFen.java,另一个是Test.java,你需要切换文件在两个文件中在Begin-End区域编写代码来完成本关任务。
为“无名的粉”写一个类:class WuMingFen 要求:
- 有三个属性:面码:
String theMa粉的分量(两):int quantity是否带汤:boolean likeSoup - 写一个构造方法,以便于简化初始化过程,如:
WuMingFen f1 = new WuMingFen("牛肉",3,true); - 重载构造方法,使得初始化过程可以多样化:
WuMingFen f2 = new WuMingFen("牛肉",2); - 如何使得下列语句构造出来的粉对象是酸辣面码、2两、带汤的?
WuMingFen f3 = new WuMingFen(); - 写一个普通方法:
check(),用于查看粉是否符合要求。即:将对象的三个属性打印在控制台上。
测试说明
我会对你编写的代码进行测试:
测试输入: 牛肉,3,true 预期输出: 面码:牛肉,粉的份量:3两,是否带汤:true 面码:牛肉,粉的份量:3两,是否带汤:false 面码:酸辣,粉的份量:2两,是否带汤:true
测试输入: 三鲜,1,true 预期输出: 面码:三鲜,粉的份量:1两,是否带汤:true 面码:三鲜,粉的份量:1两,是否带汤:false 面码:酸辣,粉的份量:2两,是否带汤:true
鼠标悬停即可切换文件:

第6关:static关键字
编程要求
现在Begin-End区域中代码有异常,请利用本关所学知识修改右侧代码使其能输出如下结果:
hello educoder 我叫楚留香 我喜欢在educoder上学习java
注意: 在Java中是不能用static关键字修饰局部变量的,为什么? 因为这个是老大说的,我们做小弟的不能不听呀。
本关概念较多,需要你用心记下来哦,
测试说明
平台会对您的代码进行运行测试,如果实际输出与预期输出相同,则算通关。

第7关:选择题
编程要求
运用所学知识完成本关选择题。
测试说明
平台会对您选的的答案进行运行测试,如果实际输出与预期输出相同,则算通关。
-
1、
有如下代码:
public class TestMain{public static void main(String args[]){MyClass mc1 = new MyClass();MyClass mc2 = new MyClass();mc1.a = 100;mc1.b = 200;mc2.a = 300;mc2.b = 400;System.out.println(mc1.a);System.out.println(mc1.b);System.out.println(mc2.a);System.out.println(mc2.b);}}class MyClass{static int a;int b;}
请问输出结果是(D)
A、100 100 100 100
B、100 200 300 400
C、400 400 400 400
D、300 200 300 400
-
2、
class MyClass {int a;static int b;void fa(){}static void fb(){}public void m1(){System.out.println(a); //位置1System.out.println(b); //位置2fa(); //位置3fb(); //位置4}public static void m2(){System.out.println(a); //位置5System.out.println(b); //位置6fa(); //位置7fb(); //位置8}}
上述代码会出错的位置有:(EG)
A、位置1
B、位置2
C、位置3
D、位置4
E、位置5
F、位置6
G、位置7
-
3、
class MyClass {static int i = 10;static {i = 20;System.out.println("In Static");}public MyClass() {System.out.println("MyClass()");}public MyClass(int i) {System.out.println("MyClass(int)");this.i = i;}}public class TestMain {public static void main(String args[]) {MyClass mc1 = new MyClass();System.out.println(mc1.i);MyClass mc2 = new MyClass(10);System.out.println(mc2.i);}}
上述代码的运行结果是:(B)
A、MyClass() 20 MyClass(int) 10
B、In Static MyClass() 20 MyClass(int) 10
C、In Static MyClass(int) 20 MyClass() 10
D、In Static MyClass() 10 MyClass(int) 20








