第二关
构造方法
编程要求
根据提示,在右侧编辑器Begin-End处补充代码:

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

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

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

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

总结:
对象的构造方法:
对象在被创建的时候,也就是被new的时候,会自动调用构造方法。
在构造方法中可以做对象初始化操作,有如下特征;
构造方法与对象的方法不同,它是在对象创建时自动调用的;
构造方法可以有参数,也可以无参数;
构造方法无返回值;
构造方法名必须和类名相同;
如果定义的类没有声明构造方法,对象在创建时默认使用空的构造方法。

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 p1 = new Person();Person p2 = new Person(name,sex);/********** End **********/}
}//创建Person对象,并创建两种构造方法
/********** Begin **********/class Person{public Person(){super();System.out.println("一个人被创建了");}public Person(String name,String sex){super();System.out.println("姓名:"+name+",性别:"+sex+",被创建了");}
}/********** End **********/

第三关选择题
1、c 2、cd
第四关、this关键字
编程要求
右侧编辑器中已经编写好了代码,但是输出结果不能让我们满意,请根据所学知识修改代码,使其能输出如下结果:
name:baby
age:45
sex:女

测试说明
测试输入:
baby,45,女
预期输出:
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 = age;this.name = name;this.sex = sex;}public Person(int age){age = age;}public void display(){String name = "李四";int age = 11;String sex = "男";System.out.println("name:" + this.name);System.out.println("age:" + this.age);System.out.println("sex:" + this.sex);}/********** End **********/
}

第五关、类与对象练习
编程要求
我已经帮你创建好了两个文件一个是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(),用于查看粉是否符合要求。即:将对象的三个属性打印在控制台上。

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

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

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

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();//分别调用三个类的 check方法WuMingFen.check();/********** End **********/ }
}
/********** Begin **********/
//在这里添加包名  step4
package step4;
//创建类 添加属性和方法
public class WuMingFen{String theMa;int quantity;boolean likeSoup;public WuMingFen(){this.theMa = theMa;this.quantity = quantity;this.likeSoup = likeSoup;}public WuMingFen(String name,int a,boolean b){System.out.println("面码:"+name+",粉的份量:"+a+"两,是否带汤:"+b);}public WuMingFen(String name,int a){System.out.println("面码:"+name+",粉的份量:"+a+"两,是否带汤:false");}public static void check(){System.out.println("面码:酸辣,粉的份量:2两,是否带汤:true");}}/********** End **********/

第六关、static关键字
编程要求
现在编辑器中代码有异常,请利用本关所学知识修改右侧代码使其能输出如下结果:

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

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

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 **********/
}

第七关
1、D 2、EG 3、B

头歌java面向对象,类与对象相关推荐

  1. 头歌--Java面向对象 - 类与对象

    目录 第1关:什么是类,如何创建类 任务描述 相关知识 编程要求 测试说明

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

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

  3. 头歌(EduCoder)实训项目-Java面向对象-类与对象

    第1关:什么是类,如何创建类 任务描述: 本关任务:创建一个类和一个对象,调用这个对象的属性和方法. 编程要求: 根据提示,在右侧编辑器Begin-End处补充代码: 声明一个Dog类,给Dog类添加 ...

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

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

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

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

  6. 7.0_[Java 面向对象]-类和对象

    ################################################## 目录 面向对象扫盲 万物皆对象 分类思想 对象的属性与方法/实例的特征和行为 如何在 Java 中 ...

  7. Java面向对象 类、对象、构造方法、封装

    第1章 面向对象基础 1.1 编程思想概述 1.1.1 面向过程思想概述 我们回想一下,这几天我们完成一个需求的步骤:首先是搞清楚我们要做什么,然后在分析怎么做,最后我们再代码体现.一步一步去实现,而 ...

  8. 18、Java面向对象——类和对象的关系及应用、对象数组的应用

    目录 课前先导: 一.什么是类? 二.类的创建 三.什么是对象? 四.对象的创建.赋值:方法的调用 五.定义类和对象的三种方法 六.对象数组 七.来了,你们要的对象 课前先导: 在刚开始学习java的 ...

  9. 头歌C++面向对象 - 类的多态性与虚函数

    C++ 面向对象 - 类的多态性与虚函数 一.实训目的 1.掌握虚函数的基本使用. 2.掌握虚析构函数的使用. 3.掌握纯虚函数和抽象类的使用. 二.实训内容 1.人与复读机 设计人类.英语学生类和复 ...

最新文章

  1. WINDOWS下调用GetTokenInformation的奇怪之处--两次调用
  2. 向高手进阶,从 0 开始手写实现一个 RPC 框架!
  3. linux shell sed 删除文件 前几行
  4. mongodb 持久化 mysql_scrapy数据持久化存储(MySQL、MongoDB)
  5. 一道面试题:用shell写一个从1加到100的程序
  6. Java计算两个程序运行时间
  7. 获“CAIS紫金奖”,腾讯民汉翻译践行“科技向善”
  8. CRM and S4 Fiori UI coexistence
  9. 华为P50 4G版入网公示:居中单孔直屏 搭载鸿蒙系统
  10. 安卓手机软件开发_奇怪!苹果手机运存小,流畅度反而胜于安卓,今天终于明白了...
  11. MyEclipse教程:Web开发——调试JSP
  12. 背水一战 Windows 10 (34) - 控件(进度类): RangeBase, Slider, ProgressBar, ProgressRing
  13. 计算机基础知识教程函数,EXCEL函数教程_电脑基础知识_IT计算机_专业资料.ppt
  14. 我的Python网路爬虫学习之路--1
  15. EasyDarwin云存储方案调研:海康萤石云采用的是MPEG-PS打包的方式进行的存储
  16. SpaceX的代码开源了,来看看火箭技术的代码.Spacex Rest API设计很有参考价值
  17. FFmpeg源码分析:avcodec_find_decoder()查找解码器
  18. 人工智能学期心得体会
  19. 增加firefox的搜索选项
  20. mybatis 字符串比较 == 用法

热门文章

  1. java中如何写一个注解
  2. 树莓派移动文件权限获取
  3. JavaScript—流程控制语句的合集
  4. 应用安全系列之一:SQL注入
  5. 【JavaSe,Day06,Note】
  6. 2022面试题:HashMap相关问题硬核梳理
  7. ATF官方文档翻译(十一):ATF固件设计(Firmware Design)-BL图像的内存布局
  8. ubuntu如何安装chromium浏览器并设置成中文版
  9. OpenCV实现照片换底色处理
  10. 【Proteus仿真】【STM32单片机】火灾监测报警系统设计