educoder——面向对象程序设计java——第二阶段Java面向对象(一) - 类与对象

第1关:什么是类,如何创建类

编程要求

  • 声明一个Dog类,给Dog类添加三个String类型的属性,分别是namecolorvariety ,定义两个方法,分别是,eatrun

  • main方法中在Begin-End区域创建一个名为wuhuarouDog对象,并设置name五花肉color棕色variety阿拉斯加

  • 使得调用wuhuarou对象的eat方法能输出啃骨头,调用run方法能输出叼着骨头跑

具体输出要求请看测试说明。

测试说明

测试输入:

预期输出:使用中文冒号 名字:五花肉,毛色:棕色,品种:阿拉斯加 啃骨头 叼着骨头跑

educoder——面向对象程序设计java——第二阶段Java面向对象(一) - 类与对象_第1张图片

第2关:构造方法

编程要求

Begin-End区域创建一个Person类,给Person类定义一个无参构造方法和一个有参构造方法,有参构造方法定义两个String类型参数namesexmain方法中调用无参构造和有参构造方法。 调用无参构造方法输出:一个人被创建了 调用有参构造方法应根据输入的数据输出对应的结果,如输入:张三,则输出:姓名:张三,性别:男,被创建了

测试说明

测试输入:张富贵未知 预期输出: 一个人被创建了 姓名:张富贵,性别:未知,被创建了

总结: 对象的构造方法: 对象在被创建的时候,也就是被new的时候,会自动调用构造方法。

  1. 在构造方法中可以做对象初始化操作,有如下特征
  2. 构造方法与对象的方法不同,它是在对象创建时自动调用的
  3. 构造方法可以有参数,也可以无参数
  4. 构造方法无返回值
  5. 构造方法名必须和类名相同
  6. 如果定义的类没有声明构造方法,对象在创建时默认使用空的构造方法

educoder——面向对象程序设计java——第二阶段Java面向对象(一) - 类与对象_第2张图片

第3关:选择题

编程要求

通过所学知识完成选择测试题。

测试说明

平台会对您选的的答案进行运行测试,如果实际输出与预期输出相同,则算通关。

  • 1、

    下列关于构造方法的说法不正确的是(C)

    A、

    Java语言规定构造方法名必须与类名相同

    B、

    Java语言规定构造方法没有返回值,且不用void关键字声明

    C、

    构造方法不可以重载

    D、

    构造方法只能用new关键字来创建

  • 2、

    类Test定义如下:

     
        
    1. public class Test{
    2. public float method1(){
    3. System.out.println("方法1");
    4. return 1.5;
    5. }
    6. }

    将下列哪些方法插入到第7行是合法的(CD)

    A、

    public float method1(){
    System.out.println("方法2"); return 1.1; }

    B、

    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:女

测试说明

测试输入: baby45 预期输出: name:baby age:45 sex:女

educoder——面向对象程序设计java——第二阶段Java面向对象(一) - 类与对象_第3张图片

educoder——面向对象程序设计java——第二阶段Java面向对象(一) - 类与对象_第4张图片

第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(),用于查看粉是否符合要求。即:将对象的三个属性打印在控制台上。

测试说明

我会对你编写的代码进行测试:

测试输入: 牛肉3true 预期输出: 面码:牛肉,粉的份量:3两,是否带汤:true 面码:牛肉,粉的份量:3两,是否带汤:false 面码:酸辣,粉的份量:2两,是否带汤:true

测试输入: 三鲜1true 预期输出: 面码:三鲜,粉的份量:1两,是否带汤:true 面码:三鲜,粉的份量:1两,是否带汤:false 面码:酸辣,粉的份量:2两,是否带汤:true

鼠标悬停即可切换文件:

educoder——面向对象程序设计java——第二阶段Java面向对象(一) - 类与对象_第5张图片

educoder——面向对象程序设计java——第二阶段Java面向对象(一) - 类与对象_第6张图片

第6关:static关键字编程要求

现在Begin-End区域中代码有异常,请利用本关所学知识修改右侧代码使其能输出如下结果:

hello educoder 我叫楚留香 我喜欢在educoder上学习java

注意: 在Java中是不能用static关键字修饰局部变量的,为什么? 因为这个是老大说的,我们做小弟的不能不听呀。


本关概念较多,需要你用心记下来哦,

测试说明

平台会对您的代码进行运行测试,如果实际输出与预期输出相同,则算通关。

educoder——面向对象程序设计java——第二阶段Java面向对象(一) - 类与对象_第7张图片

第7关:选择题

编程要求

运用所学知识完成本关选择题。

测试说明

平台会对您选的的答案进行运行测试,如果实际输出与预期输出相同,则算通关。

  • 1、

    有如下代码:

     
        
    1. public class TestMain{
    2. public static void main(String args[]){
    3. MyClass mc1 = new MyClass();
    4. MyClass mc2 = new MyClass();
    5. mc1.a = 100;
    6. mc1.b = 200;
    7. mc2.a = 300;
    8. mc2.b = 400;
    9. System.out.println(mc1.a);
    10. System.out.println(mc1.b);
    11. System.out.println(mc2.a);
    12. System.out.println(mc2.b);
    13. }
    14. }
    15. class MyClass{
    16. static int a;
    17. int b;
    18. }

    请问输出结果是(D)

    A、

    100 100 100 100

    B、

    100 200 300 400

    C、

    400 400 400 400

    D、

    300 200 300 400

  • 2、

     
        
    1. class MyClass {
    2. int a;
    3. static int b;
    4. void fa(){
    5. }
    6. static void fb(){
    7. }
    8. public void m1(){
    9. System.out.println(a); //位置1
    10. System.out.println(b); //位置2
    11. fa(); //位置3
    12. fb(); //位置4
    13. }
    14. public static void m2(){
    15. System.out.println(a); //位置5
    16. System.out.println(b); //位置6
    17. fa(); //位置7
    18. fb(); //位置8
    19. }
    20. }

    上述代码会出错的位置有:(EG)

    A、

    位置1

    B、

    位置2

    C、

    位置3

    D、

    位置4

    E、

    位置5

    F、

    位置6

    G、

    位置7

  • 3、

     
        
    1. class MyClass {
    2. static int i = 10;
    3. static {
    4. i = 20;
    5. System.out.println("In Static");
    6. }
    7. public MyClass() {
    8. System.out.println("MyClass()");
    9. }
    10. public MyClass(int i) {
    11. System.out.println("MyClass(int)");
    12. this.i = i;
    13. }
    14. }
    15. public class TestMain {
    16. public static void main(String args[]) {
    17. MyClass mc1 = new MyClass();
    18. System.out.println(mc1.i);
    19. MyClass mc2 = new MyClass(10);
    20. System.out.println(mc2.i);
    21. }
    22. }

    上述代码的运行结果是:(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

你可能感兴趣的:(JAVA,java,开发语言,后端)