湖北师范大学-面向对象程序设计-Java面向对象 - 类与对象

Java 第三章 面向对象 7-1 this关键字练习在下面的程序代码中已经编写好了代码,但是输出结果不能让我们满意,请根据所学知识修改代码(在注释 Begin .. End 之间修改代码),使其能输出如下结果:name:babyage:45sex:女。 阅读详情

 

目录

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

第2关:构造方法

第4关:This关键字

第5关:类与对象练习

第6关:static关键字


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

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

声明一个Dog类,给Dog类添加三个String类型的属性,分别是name,color,variety ,定义两个方法,分别是,eat,run。
在main方法中创建一个名为wuhuarou的Dog对象,并设置name为五花肉,color为棕色,variety为阿拉斯加。
使得调用wuhuarou对象的eat方法能输出啃骨头,调用run方法能输出叼着骨头跑。
具体输出要求请看测试说明。

测试说明
测试输入:无

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

开始你的任务吧,祝你成功!

package step1;

public class Test {
	public static void main(String[] args) {
		/********** Begin **********/
		//创建Dog对象
		//设置Dog对象的属性
		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("叼着骨头跑");
    }
}


/********** End **********/

第2关:构造方法

编程要求
根据提示,在右侧编辑器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 p=new Person();
Person r=new Person(name,sex);

		/********** End **********/
		
	}
}

//创建Person对象,并创建两种构造方法
/********** Begin **********/
class Person{
            Person(){
                System.out.println("一个人被创建了");
            }
            Person(String name,String sex){
                System.out.println("姓名:"+name+",性别:"+sex+",被创建了");
            }
        }
/********** End **********/

第4关: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);
		name = name;
		sex = sex;
	}
	
	public Person(int age){
		age = age;
	}
	
	public void display(){
		String name = "李四";
		int age = 11;
		String sex = "男";
		System.out.println("name:" + name);
		System.out.println("age:" + age);
		System.out.println("sex:" + 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(),用于查看粉是否符合要求。即:将对象的三个属性打印在控制台上。

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

测试输入:
牛肉,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对象  取名 f1
WuMingFen f1=new WuMingFen(theMa,quantity,likeSoup);
		//使用两个参数的构造方法创建WuMingFen对象  取名 f2
WuMingFen f2=new WuMingFen(theMa,quantity);
		//使用无参构造方法创建WuMingFen对象  取名 f3
WuMingFen f3=new WuMingFen();
		//分别调用三个类的 check方法
f1.check();
f2.check();
f3.check();
		
		/********** End **********/	
	}
}

第6关: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("我叫" + Test.name);
		study();
	}
	
	public static void study(){
		System.out.println("我喜欢在educoder上学习java");
	}
	/********** End **********/
}

《面向对象程序设计学期实训》 《面向对象程序设计学期实训》 实训报告 学 院 :计算机与信息工程学院 专 业 :计算机大类 班 级 : 学 生 学 号 : ... 阅读详情

相关推荐

顶会新宠!Gate+Attention创新思路发A会

性能提升:在Places2自然场景和CelebA-HQ人脸数据集上,与以往方法相比,该系统在自由形式掩码修复任务中取得了更高的质量和更低的误差(例如,平均ℓ1误差和ℓ2误差显著降低)。硬件效率提升:Griffin和Hawk在TPU-v3上的训练效率与Transformer相当,且在推理时具有更低的延迟和显著更高的吞吐量。门控卷积:提出了一种新的门控卷积机制,通过学习每个通道在每个空间位置的动态特征选择机制,解决了传统卷积将所有输入像素视为有效像素的问题。

2501_92785035的博客 974

头歌java面向对象,类与对象

第二关 构造方法 编程要求 根据提示,在右侧编辑器Begin-End处补充代码: 创建一个Person类,给Person类定义一个无参构造方法和一个有参构造方法,有参构造方法定义两个String类型参数name和sex在main方法中调用无参构造和有参构造方法; 调用无参构造方法输出:一个人被创建了; 调用有参构造方法应根据输入的数据输出对应的结果,如输入:张三,男,则输出:姓名:张三,性别:男,被创建了。 测试说明 测试输入:张富贵,未知 预期输出: 一个人被创建了 姓名:张富贵,性别:未知,被创建了 总

weixin_45385429的博客 1万+

vivado生成及调用自定义IP的方法

开发环境:vivado 2018.2 1.将整个工程封装为自定义IP 将整个工程封装为自定义IP主要有以下步骤: 步骤1.选中工程中的top模块。点击Tools ------> Create and Package New IP,如图1所示 图1 步骤2.弹出界面后,点击next至图2界面,选择Package your current project,然后继续点击next 图2 步骤3.选择生成的IP路径,如图3所示。这个路径就是后续添加该IP的路径 图3 步骤4.继续点击next,然后选择fi

进击的阿日比 4730

Educoder - Java面向对象 - 类与对象各关卡题目总结

第1关:什么是类,如何创建类 1、编程要求: 根据提示,在右侧编辑器Begin-End处补充代码: 声明一个Dog类,给Dog类添加三个String类型的属性,分别是name,color,variety,定义两个方法,分别是,eat,run。 在main方法中创建一个名为wuhuarou的Dog对象,并设置name为五花肉,color为棕色,variety为阿拉斯加。 使得调用wuhuarou对象的eat方法能输出啃骨头,调用run方法能输出叼着骨头跑。 2、测试效果: 测试输入:无 预期输出:使用中文冒号

刘向阳的博客 1万+

「转载」vaptcha 等手势验证码图像识别与轨迹提取(思路)

作者:文安哲 从博客重开以后就说要更文章,鸽了蛮久了,赶紧补上一篇嫖嫖各位老公的流量。 最近看群里面大家讨论研究手势验证码比较多,然后我也顺带研究做了一下,给各位老公们分享一下做的过程。 首先,一起来康康手势验证码长啥样! 大概就是长这个样子,需要按照图像中的那条轨迹再图片上滑动,不得不说这类验证码确实体验感拉满,让人很想立马关掉这个网站。 那么言归正传,这类验证码该怎么做识...

AI悦创·编程私教1v1 3597

NR PUCCH(二)PUCCH format 2/3/4

继续看PUCCH2/3/4:PUCCH format 0和1所携带的信息bits少,UCI bits2bits,信息bit需要经过编码等过程下面分别来看。

ModemProtocol的博客 538

Educoder–Java面向对象(第二章)- 封装、继承和多态【笔记+参考代码】

Educoder–Java面向对象(第二章)- 封装、继承和多态【笔记+参考代码】 第一关 编程要求 根据提示,在右侧编辑器Begin-End处补充代码: 声明一个Person类,私有化属性name和age,并将字段封装起来; 在Person类中定义一个talk()方法,打印姓名和年龄信息; 在main方法中声明并实例化一Person对象p,给p中的属性赋值,调用talk()方法打印 我是...

fuhanghang的博客 4万+

RH850从0搭建Autosar开发环境【3X】- Davinci Configurator之BswM模块配置详解(上)

RH850从0搭建Autosar开发环境【3X】- Davinci Configurator之BswM模块配置详解(上)

weixin_42412049的博客 740

Java面向对象 - 类与对象

第1关:什么是类,如何创建类 100 过关任务 参考答案 评论 任务描述 相关知识 什么是类 怎么定义类 创建对象并且使用对象的属性和方法 编程要求 测试说明 任务描述 本关任务:创建一个类和一个对象,调用这个对象的属性和方法。 相关知识 为了完成本关任务,你需要掌握:1、什么是类和对象; 2、怎么定义类; 3、怎么创建对象并使用对象的属性和方法。 什么是类 类:类是一个模板,它描述一类对象的行为和属性。 对象:对象是类的一个实例,有 属性 和 行为 。 举个例子:

aiains的博客 1万+

【Windows Server 2019】活动目录 (Active Directory) ——理论

博文介绍了活动目录 (Active Directory) 的定义,作用以及与 DNS 的关系。同时也介绍了AD的组织结构,包括域控制器,子域,对象,属性,容器,组织单位,域间信任等术语的解释,实验拓扑图。

VMware, Windows, Linux, Cisco, Container, Kubernetes, Kali 7747

RK3588开发笔记-麦克风阵列多pdm通道合并成一个声卡

在音频设备的开发中,特别是在多通道音频数据处理场景中,如何将多个PDM(Pulse Density Modulation)通道整合成一个声卡设备,是一个非常具有挑战性的问题。RK3588芯片作为一款性能强大的平台,提供了对多个音频通道的支持。本文将介绍如何在RK3588上将多个PDM通道合并成一个麦克风阵列声卡,从而在Linux系统下统一管理和使用,提高多通道音频的同步性。在本文中我们主要介绍使用2通道回采+4通道mic声音采集构成一个6通道声卡,加以回声消除实现一个多麦克风阵列。

flypig has a dream! 1926

专升本c语言程序设计网课_湖北普通专升本计算机专业可报考哪些学校?

计算机专业升本有两个方向可以对应报考:计算机科学与技术,软件工程。据2019年湖北各院校的招生简章来看,目前计算机科学与技术专业普通专升本可报考学校:长江大学[考试科目:英语(不考听力)+计算机基础+C语言程序设计]武汉纺织大学(考试科目:高等数学+C语言程序设计+英语)武汉轻工大学(考试科目:大学英语+计算机程序设计基础)湖北师范大学(考试科目:大学英语+高级语言程序设计)湖北科技学院(考试科目...

weixin_39856607的博客 915

电压跟随器在ADC采样电路中的作用分析

电压跟随器在ADC采集系统中扮演关键角色,它能解决分压电路因ADC输入阻抗导致的电压误差问题。通过运放构成的电压跟随器可隔离信号源与负载,保证采样精度,尤其适用于高阻抗传感器或高速采样场景。工程应用中需注意运放带宽、轨对轨输出能力及抗干扰设计。合理使用电压跟随器能显著提升信号完整性,在复杂电子系统中成为不可或缺的"信号桥梁。

硬核科技 655

828c语言程序设计_21计算机考研只考一门高级语言程序设计的院校大汇总!

考研院校选择是一个决定考研成败的一步,也是人生中一次重大的选择!下面汇总了计算机考研专硕只考一门高级语言程序设计的院校:首都师范大学:(906)C语言程序设计中央财经大学:(901)C语言程序设计首都经济贸易大学:(906)程序设计陆军装甲兵学院:(806)C语言程序设计河北工程大学:(806)C/C++语言程序设计华北理工大学:(815)C程序设计太原师范学院:(811)高级语言程序设...

weixin_42513216的博客 2830

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

只考一门专业课的专硕计算机,计算机考研专硕只考一门程序设计的院校汇总

首都师范大学:(906)C语言程序设计中央财经大学:(901)C语言程序设计首都经济贸易大学:(906)程序设计陆军装甲兵学院:(806)C语言程序设计河北工程大学:(806)C/C++语言程序设计华北理工大学:(815)C程序设计太原师范学院:(811)高级语言程序设计基础(C语言)沈阳航空航天大学:(817)程序设计沈阳建筑大学:(811)C语言程序设计沈阳农业大学:(803)C语言程序设计大...

weixin_39947961的博客 1837

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

计算机考研哪个学校考java,南昌java程序学院有那些,计算机考研只考一门高级语言程序设计的院校大汇总!...

想了解南昌java程序学院有那些吗?想了解计算机考研只考一门高级语言程序设计的院校大汇总!?? 吗?......本文带你一探究竟。1.计算机考研只考一门高级语言程序设计的院校大汇总!考研院校选择是一个决定考研成败的一步,也是人生中一次重大的选择!下面汇总了计算机考研专硕只考一门高级程序设计的院校:首都师范大学:(906)C语言程序设计中央财经大学:(901)C语言程序设计首都经济贸易大学:(906...

weixin_42451611的博客 2249

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

基于Java的记账管理系统

本文设计开发了一款基于Java的记账管理系统,采用SpringBoot后端框架与Vue前端技术,结合MySQL数据库。系统包含管理员和用户两个角色:管理员可全面管理各类财务数据及用户信息;用户可记录收支、贷款、投资等财务活动并进行统计分析。研究目标是构建操作简便、界面友好的专业财务管理工具。开发过程严格遵循毕业设计要求,包括开题报告撰写、系统开发、论文写作等环节,并参考了15篇相关文献。该系统为个人和家庭财务管理提供了数字化解决方案。

2501_93259621的博客 316

开设计算机专业的大学,中国最早开设计算机专业的大学

技校网专门为您推荐的类似问题答案问题1:中国的大学计算机专业排名计算机系统结构(47) 排名 学校名称 等级 1 清华大学 A+ 2 华中科技大学 A+ 3 西安交通大学 A 4 浙江大学 A 5 上海交通大学 A 6 武汉大学 A 7 西安电子科技大学 A 8 复旦大学 A 9 吉林大学 A B+等(14个) 东南大学、东北大学、北京航空航天大学、哈尔滨工业大学、北京大学、北京邮电大学、山东大学...

weixin_30338049的博客 863

面向对象-封装、继承、多态《笔记——代码块》

Java面向对象-封装、继承、多态 第一题 编程要求 根据提示,在右侧编辑器Begin-End处补充代码: 声明一个Person类,私有化属性name和age,并将字段封装起来; 在Person类中定义一个talk()方法,打印姓名和年龄信息; 在main方法中声明并实例化一Person对象p,给p中的属性赋值,调用talk()方法打印 我是:张三,今年:18岁。 测试说明 测试输入: 无 预期输出: 我是:张三,今年:18岁 完整代码 package case1; public class

爱笑的博客 6812

加强版练习:private属性私有化-set方法设置限制-年龄大于0或小于120

为年龄设置限制,当小于0或者大于120时,age赋值为18,否则正常赋值

xjj1128的博客 723

Educoder–Java面向对象(第一章)- 类与对象【笔记+参考代码】

Educoder–Java面向对象(第一章)- 类与对象【笔记+参考代码】 第一关 编程要求 根据提示,在右侧编辑器Begin-End处补充代码: 声明一个Dog类,给Dog类添加三个String类型的属性,分别是name,color,variety,定义两个方法,分别是,eat,run。 在main方法中创建一个名为wuhuarou的Dog对象,并设置name为五花肉,color为棕色,v...

fuhanghang的博客 3万+

7-2 数组与对象 (20 分)

7-2 数组与对象 (20 分) 定义一个Person类 1、包含name 2、在Person类完成无参构造方法,在无参构造方法设置name值为none 3、有参构造方法给name传值 4、为name属性添加set和get方法 5、< public String toString(){ return “name:”+name; } 在Main类的main方法中 1、创建Person类对象数组,其中数组长度为2 2、并为Person对象数组赋值,其中第一个元素对象为无参person对象,第二个元素对象为

千色千寻的博客 1187

Educoder–Java面向对象-泛型程序设计【笔记+参考代码】

编程要求 补充完成右侧泛型程序设计代码,定义泛型类,实现两个对象的比较,并输出最大者。输入的数据可能是整数,也可能是浮点数,也可能是字符串。 字符串比大小,按照字母顺序,如c>a 参考代码 package step1; public class A< T extends Comparable >{ private T t1,t2; /*************BEGIN**...

levis___的博客 1769

实验三 Java类的继承与派生

根据提示,在右侧编辑器补充代码。定义一个Person类,包含姓名(name)、性别(sex)、年龄(age)等字段;定义一个Teacher类继承Person类,增加职称(pro)、部门(department)等字段;定义一个Student类继承Person类,增加学号(no)、入学时间(enter)、专业(major)等字段;定义各类的构造方法和toString()方法,并分别创建对象进行测试。// 自行设计类的实现// 自行设计类的实现return no;

m0_59054762的博客 3758

EducoderJava面向对象 - 类与对象

EducoderJava面向对象 - 类与对象 1.什么是类,如何创建类 public class Test { public static void main(String[] args) { /********** Begin **********/ //创建Dog对象 //设置Dog对象的属性 Dog wuhuarou = new Dog(); wuhuarou.name = "五花肉"; wuhuarou.color = "棕色"; wuhuar

qq_44921671的博客 1万+
上一篇: 湖北师范大学-Python程序设计-5.6 单词猎手游戏(project)
下一篇: 湖北师范大学-Java面向对象 - 封装、继承和多态
汽水爆炸
博客等级 码龄4年 1903粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值