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

任务描述:

本关任务:创建一个类和一个对象,调用这个对象的属性和方法。

编程要求:

根据提示,在右侧编辑器Begin-End处补充代码:

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

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

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

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

package step1;public class Test {public static void main(String[] args) {/********** Begin **********///创建Dog对象//设置Dog对象的属性//在main方法中创建一个名为wuhuarou的Dog对象,//并设置name为五花肉,color为棕色,variety为阿拉斯加。Dog wuhuarou = new Dog();wuhuarou.name = "五花肉";wuhuarou.color = "棕色";wuhuarou.variety = "阿拉斯加";//输出小狗的属性System.out.println("名字:" +wuhuarou.name+ ",毛色:" +wuhuarou.color+ ",品种:" +wuhuarou.variety);//调用方法wuhuarou.eat();wuhuarou.run();/********** End **********/}
}//在这里定义Dog类
/********** Begin **********/
class Dog{String name;String color;String variety;void eat(){System.out.println("啃骨头");}void run(){System.out.println("叼着骨头跑");}
}

第2关:构造方法

任务描述:

本关任务:创建对象给对象定义无参构造方法和有参构造方法。

编程要求:

根据提示,在右侧编辑器Begin-End处补充代码:

  • 创建一个Person类,给Person类定义一个无参构造方法和一个有参构造方法,有参构造方法定义两个String类型参数namesexmain方法中调用无参构造和有参构造方法;

  • 调用无参构造方法输出:一个人被创建了

  • 调用有参构造方法应根据输入的数据输出对应的结果,如输入:张三,则输出:姓名:张三,性别:男,被创建了

package step2;import java.util.Scanner;public class Test {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String name = sc.next();String sex = sc.next();/********** Begin **********///分别使用两种构造器来创建Person对象 Person person1 = new Person();Person person2 = new Person(name,sex);/********** End **********/}
}//创建Person对象,并创建两种构造方法
/********** Begin **********/
class Person{String name;String sex;public Person(){System.out.println("一个人被创建了");}public Person(String name, String sex){this.name = name;this.sex = sex;System.out.println("姓名:"+name+','+"性别:"+sex+','+"被创建了");}
}/********** End **********/

第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关键字

任务描述:

本关任务:使用this关键字,设置对象的成员变量。

编程要求

右侧编辑器中已经编写好了代码,但是输出结果不能让我们满意,请根据所学知识修改代码,使其能输出如下结果: name:baby age:45 sex:女

package step3;import java.util.Scanner;public class Test {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String name = sc.next();int age = sc.nextInt();String sex = sc.next();Person p = new Person(name,age,sex);p.display();}
}class Person{String name = "张三";int age = 18; String sex = "男";/********** Begin **********/public Person(String name,int age,String sex){this(age);this.name = name;this.sex = sex;}public Person(int age){this.age = age;}public void display(){String name = "baby";int age = 45;String sex = "女";System.out.println("name:" + this.name);System.out.println("age:" + this.age);System.out.println("sex:" + this.sex);}/********** End **********/
}

第5关:类与对象练习

任务描述:

本关任务:为“无名的粉”写一个类,编写该类的构造方法和成员变量。

编程要求:

我已经帮你创建好了两个文件一个是WuMingFen.java,另一个是Test.java,你需要切换文件在两个文件中编写代码来完成本关任务。

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

Test.java文件package step4;import java.util.Scanner;public class Test {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String theMa = sc.next();int quantity = sc.nextInt();boolean likeSoup = sc.nextBoolean();/********** Begin **********///使用三个参数的构造方法创建WuMingFen对象  取名 f1WuMingFen f1 = new WuMingFen(theMa, quantity, likeSoup);//使用两个参数的构造方法创建WuMingFen对象  取名 f2WuMingFen f2 = new WuMingFen(theMa, quantity);//使用无参构造方法创建WuMingFen对象  取名 f3WuMingFen f3 = new WuMingFen();f3.theMa = "酸辣";f3.quantity = 2;f3.likeSoup = true;//分别调用三个类的 check方法f1.check();f2.check();f3.check();/********** End **********/    }
}
WuMingFen.java文件/********** Begin **********/
//在这里添加包名  step4
package step4;
//创建类 添加属性和方法
public class WuMingFen{String theMa;int quantity;boolean likeSoup;public WuMingFen(){}
public WuMingFen(String theMa, int quantity, boolean likeSoup){this.theMa = theMa;this.quantity = quantity;this.likeSoup = likeSoup;
}
public WuMingFen(String theMa, int quantity){this.theMa = theMa;this.quantity = quantity;
}
public void check(){System.out.println("面码:" + theMa + ",粉的份量:" + quantity + "两,是否带汤:" + likeSoup);
}
}

第6关:static关键字

编程要求:

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

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

package step5;public class Test {/********** Begin **********/static String name = "楚留香";static{System.out.println("hello educoder");}public static void main(String[] args) {System.out.println("我叫" + name);study();}public static void study(){System.out.println("我喜欢在educoder上学习java");}/********** End **********/
}

第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、                                   B、                                    C、                               D、

    100 100 100 100              100 200 300 400               400 400 400 400          300 200 300 400

  • 2、```java class MyClass { int a; static int b; void fa(){

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

    }

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

    A、          B、         C、         D、         E、         F、          G、

    位置1       位置2      位置3      位置4      位置5      位置6      位置7

  • 3、```java class MyClass { static int i = 10; static { i = 20; System.out.println(“In Static”); }

    1. public MyClass() {
    2. System.out.println("MyClass()");
    3. }
    4. public MyClass(int i) {
    5. System.out.println("MyClass(int)");
    6. this.i = i;
    7. }

    }

    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、                                                                      B、

    MyClass() 20 MyClass(int) 10                             In Static MyClass() 20 MyClass(int) 10

    C、                                                                       D、

    In Static MyClass(int) 20 MyClass() 10               In Static MyClass() 10 MyClass(int) 20

头歌(EduCoder)实训项目-Java面向对象-类与对象相关推荐

  1. 头歌实践教学平台:Java面向对象 - 类与对象

    第1关:什么是类,如何创建类 本关任务:创建一个类和一个对象,调用这个对象的属性和方法. package step1;public class Test {public static void mai ...

  2. 【Java】第7章 Java 类和对象 头歌Educoder实训作业(七)

    第1关:练习-Java类和对象之类的声明之复数运算 任务描述 本关任务:求两个复数相加后的结果. 两个复数之间相加的运算法则:实部与实部相加,虚部与虚部相加. 关于复数的定义,可以自行查阅,本实训不做 ...

  3. 【Java】第11章 JAVA 异常处理 头歌Educoder实训作业(十一)

    第1关:学习-Java异常处理之try-catch之异常捕获 任务描述 本关任务:求给定两个数的商,并捕获除数为 0 的异常. 相关知识 为了完成本关任务,你需要掌握: 1.什么是异常: 2.如何捕获 ...

  4. educoder头歌Web实训 web课——综合应用案例:动态焦点图页面的制作

    educoder头歌Web实训 太原理工web课--综合应用案例:拼图页面的制作[全网更新最快]_玛卡巴卡的博客-CSDN博客 第1关:动态焦点图页面的样式设计 任务描述 本关任务: 完成动态焦点图 ...

  5. educoder头歌Web实训 web课——综合应用案例:限时秒杀效果的制作

    educoder头歌Web实训 太原理工web课--综合应用案例:动态焦点图页面的制作[全网更新最快]_玛卡巴卡的博客-CSDN博客 第1关:限时秒杀效果图片渲染 [TOC] 图1如下 链接为htt ...

  6. java面向对象-类和对象

    Java面向对象笔记 文章目录 Java面向对象笔记 java面向对象 类和对象 什么是类 定义 创建和使用 公式 构造方法 什么是构造方 怎么定义和使用构造方法 实列 This关键字 什么是成员变量 ...

  7. 头歌(educoder)第 5 章 Java 面向对象之类和对象 Java面向对象 - 类与对象

    目录 第1关:什么是类,如何创建类 第2关:构造方法 第3关:选择题(一)​编辑 第4关:This关键字 第5关:类与对象练习 第6关:static关键字 第7关:选择题(二) 第1关:什么是类,如何 ...

  8. 头歌HTML实训笔录

    头歌实训笔录 HTML前端基础 第2关 创建 - 标签 HTML前端基础 因学校Java 前端等写代码的作业都在头哥平台上操作,就记录一下每一关的代码吧.. ##第1关 创建第一个 HTML 标签 / ...

  9. 进程管理系统的设计与实现 SDUT 操作系统实训 项目 Java

    进程管理系统的设计与实现 要求: (1)设计一个完整的进程调度系统,至少包含三种常用的算法(FCFS.SPF.静态优先权.响应比.时间片轮转),系统中至少包含5个进程,并且能够体现进程的动态申请; ( ...

最新文章

  1. 常用 Linux 命令
  2. Spring中自动装配的方式有哪些?
  3. android ndk程序UnsatisfiedLinkError解决方案
  4. 中关村-DIY操作系统之不分区安装Ubuntu系统
  5. Deep Learning运行所需的硬件配置(转)
  6. 【ArcGIS风暴】ArcGIS创建栅格数据集色彩映射表案例--以GlobeLand30土地覆盖数据为例
  7. oracle之数据处理之约束2
  8. Spring —— IoC 容器详解
  9. Django在根据models生成数据库表时报 __init__() missing 1 required positional argument: 'on_delete'
  10. jsdelivr 缓存刷新
  11. 2009-03-24 20:01 Matlab 7.0 添加BNT工具箱(转)
  12. Sublime 编译运行JavaScript
  13. ROS 搞懂多话题回调机制以及消息队列
  14. ArcGIS API for Silverlight/WPF/Windows Phone/Android 插件下载地址
  15. 计算机语言--python
  16. 俄罗斯互联网提供商巨头Rostelecom遭遇DDoS攻击企图
  17. webbuilder mysql tomcat 安装心得
  18. haneWIN Software NFS工具的使用
  19. PROTEL技术大全
  20. MobileNet_V3—SSD网络模型图文详解

热门文章

  1. python渗透测试入门——流量嗅探器
  2. 无需纠结怎样抠图,这三个方法可以让你一秒换背景
  3. CSS实现两端对齐效果
  4. hp服务器g5主板型号,【HP DL365 G5参数】HP DL365 G5系列服务器参数-ZOL中关村在线
  5. 【转】图片像素数、打印机分辨率、打印尺寸之间的关系
  6. vs2010更换主题教程
  7. 绘制PCB板孔——Altium Designer 18.0笔记
  8. 苹果手机7服务器是什么系统版本,iPhone7 Plus的手机系统是什么
  9. 抖音爆粉的方法该怎么玩
  10. Django 实现HTML转PDF 用通用视图编写PDF 并且让PDF支持中文