Java练习1

题目要求

  1. 有一个交通工具接口类Vehicles,有work接口
  2. 有Horse类和Boat类分别实现Vehicles
  3. 创建交通工具工厂类,有两个方法分别获得交通工具Horse和Boat
  4. 有Person类,有name和Vehicles属性,在构造器中为两个属性赋值
  5. 实例化Person对象“唐僧”,要求一般情况下用Horse作为交通工具,遇到大河时用Boat作为交通工具
public class Homework06 {public static void main(String[] args) {Person person = new Person("唐僧",new Horse());person.common();person.passRiver();}
}
//1.有一个交通工具接口类Vehicles,有work接口
interface Vehicles{void work();
}
//2.有Horse类和Boat类分别实现Vehicles
class Horse implements Vehicles{@Overridepublic void work() {System.out.println("骑马");}
}
class Boat implements Vehicles{@Overridepublic void work() {System.out.println("坐船");}
}
//3.创建交通工具工厂类,有两个方法分别获得交通工具Horse和Boatclass Fork{private static Horse horse = new Horse();//饿汉式,马始终是一匹//将方法做成静态方法容易调动public static Boat getBoat(){//获取Boatreturn new Boat();}public static Horse getHorse(){//获取Horsereturn horse;}
}
//4.有Person类,有name和Vehicles属性,在构造器中为两个属性赋值class Person{private String name;private Vehicles vehicles;public Person(String name, Vehicles vehicles) {this.name = name;this.vehicles = vehicles;}public void passRiver(){//先得到船//判断,当前的vehicles属性时null,就获取一艘船//如何防止始终使用的时传入的马 interface//vehicles instanceof Boat用来判断当前的vehicles是不是Boat//1.vehicles = null:vehicles interface Boat =》 false;//1.vehicles = 马对象:vehicles interface Boat =》 false;//1.vehicles = 船对象:vehicles interface Boat =》 true;if (!(vehicles instanceof Boat)) {vehicles = Fork.getBoat();}vehicles.work();}public void common(){if (!(vehicles instanceof Horse)) {vehicles = Fork.getHorse();}vehicles.work();}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/842024.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何让大模型更聪明?提升AI智能的关键策略

如何让大模型更聪明?提升AI智能的关键策略 🤖 如何让大模型更聪明?提升AI智能的关键策略摘要引言方向一:算法创新🚀1.1 自监督学习的崛起1.2 强化学习的应用 方向二:数据质量与多样性📊2.1 数据…

大模型日报2024-05-26

大模型日报 2024-05-26 大模型资讯 AI助力揭示海洋和肠道中的病毒活动 摘要: 病毒在微生物生态系统中是神秘且难以理解的力量。研究人员发现,病毒可以感染、杀死并操控人类。AI技术有望帮助我们更好地了解这些病毒在海洋和肠道中的行为。 微软推出Windows Copilot R…

Spring:IoC容器(基于XML管理bean)

1. HelloWorld 三个步骤: 1.创建类 2.配置xml文件 3.通过xml文件使得bean实列化 1. 创建类 package com.itgyl.bean;public class HelloWorld {public HelloWorld() {System.out.println("1.通过无参构造创建对象");}public void hello() {System.out.p…

SpringCloud配置文件bootstrap不生效

解决方案&#xff1a; 情况一、SpringBoot 版本 小于 2.4.0 版本&#xff0c;添加以下依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-context</artifactId> </dependency> 情况二、SpringBoot…

乡村振兴的乡村公共服务提升:提升乡村公共服务水平,满足农民多样化需求,构建幸福美好的美丽乡村

目录 一、引言 二、乡村公共服务提升的必要性 &#xff08;一&#xff09;满足农民多样化需求 &#xff08;二&#xff09;促进乡村经济发展 &#xff08;三&#xff09;构建幸福美好的美丽乡村 三、乡村公共服务面临的挑战 &#xff08;一&#xff09;基础设施薄弱 &a…

粘土滤镜特效怎么弄?5个简易制作粘土软件一学就会

#是谁把夏天的氛围感拿捏了#&#xff0c;哦~原来是AI粘土特效。 这玩意儿最近在社交媒体上可是火得一塌糊涂&#xff0c;大家都在用它给自己的照片来个大变身&#xff0c;变成那种丑萌丑萌的粘土小人儿。 如果大家也想尝试一下&#xff0c;那就跟着我来看看几款超好用的粘土滤…

java处理中文脱敏

方法一&#xff0c;简单的&#xff0c;不计算文字长度去设置脱敏 public static String dataDesensitization1(String content){String regex "(.{2}).*(.{2})";return ReUtil.replaceAll(content, regex, matcher -> {try {if (CharSequenceUtil.isBlank(match…

基于Django框架的项目搭建后台首页

(1). 创建数据库 osdb 进入MySQL数据库中&#xff0c;创建一个数据库名为&#xff1a;osdb 通过数据表结构来创建数据表&#xff1a; -- 员工信息表 CREATE TABLE user (id int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 员工账号id,username varchar(50) DEFAULT NULL C…

MySQL:图文超详细教程MySQL5.7下载与安装

一、前言 MySQL 5.7 是一个重要的数据库管理系统版本&#xff0c;它带来了多项改进和新特性&#xff0c;本文将超详细的带大家手动安装一下MySQL5.7。 二、下载MySQL5.7版本 MySQL5.7安装包 链接&#xff1a;https://pan.baidu.com/s/1lz5rp9PwfyeHzkEfI_lW6A 提取码&#…

图卷积神经网络的简史 及其与卷积神经网络的异同

图卷积神经网络&#xff08;GCN&#xff09;已经在处理图结构数据方面取得了巨大的成功。在本小节中&#xff0c;我们将深入探讨图卷积神经网络的起源、发展历程&#xff0c;并提供一个简单的Python代码实现示例&#xff0c;以帮助读者更好地理解这一概念。 图卷积神经网络的简…

Kubernetes 文档 / 概念 / 服务、负载均衡和联网

Kubernetes 文档 / 概念 / 服务、负载均衡和联网 此文档从 Kubernetes 官网摘录 中文地址 英文地址 Kubernetes 网络模型 集群中每一个 Pod 都会获得自己的、 独一无二的 IP 地址&#xff0c; 这就意味着你不需要显式地在 Pod 之间创建链接&#xff0c;你几乎不需要处理容器…

Django 请求方式

在 Django 中要想知道请求方式&#xff0c;可以在views.py文件里获知。views.py 是在自己创建的app文件夹里的 from django.shortcuts import redirectdef login(request):# 获取请求方式 GET/POSTprint(request.method)# 获取url中的参数&#xff1a;/login/?n1123&n2…

深入理解 Docker:概念、原理与操作指南

推荐一个AI网站&#xff0c;免费使用豆包AI模型&#xff0c;快去白嫖&#x1f449;海鲸AI Docker 简介、原理及操作 Docker 是一个开源的容器化平台&#xff0c;它可以将应用程序及其依赖项打包到一个可移植的容器中&#xff0c;从而实现应用程序的快速部署、运行和管理。本文…

c# 贪心算法(Greedy Algo)

贪婪是一种算法范式&#xff0c;它逐步构建解决方案&#xff0c;始终选择提供最明显和直接收益的下一个部分。贪婪算法用于解决优化问题。 如果问题具有以下属性&#xff0c;则可以使用贪心法解决优化问题&#xff1a; 每一步&#xff0c;我们都可以做出当前看来最好的选择&…

IDEA 2024.1安装与破解

一、下载 官网地址&#xff1a;https://www.jetbrains.com/idea/download/other.html 二、安装 傻瓜式安装即可 三、破解 3.1 破解程序 网站&#xff1a;https://3.jetbra.in/ 3.2 获取激活码 点击*号部分即可复制成功

python纸牌塔游戏

下面是一个简单的Python实现的纸牌塔游戏的示例代码。这个游戏是基于简单的图形用户界面和命令行界面。 import random import sys import time # 定义游戏中的卡片数量 CARD_COUNT 52 # 定义游戏中的牌堆数量 DECK_COUNT 4 # 定义游戏中的卡片等级 RANKS [A, 2, 3…

Vue——开发前的准备和创建一个vue的工程

文章目录 前言安装 Node js1、下载node.js2、安装node.js3、查看是否安装成功 创建 vue 工程Visual Studio Code 配置目录结构 前言 本篇博客主要讲解Vue开发前的环境配置与一些说明。 安装 Node js 环境需要安装配置一个nodejs 的环境。 vue3 最低nodejs 版本要求为 15.0 1…

[图解]产品经理创新模式01物流变成信息流

1 00:00:01,570 --> 00:00:04,120 有了现状的业务序列图 2 00:00:04,960 --> 00:00:08,490 我们就来改进我们的业务序列图了 3 00:00:08,580 --> 00:00:11,010 把我们要做的系统放进去&#xff0c;改进它 4 00:00:13,470 --> 00:00:15,260 怎么改进&#xff1f;…

揭秘OS模块:文件与文件夹的遍历艺术

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、引言 二、os.listdir()&#xff1a;当前目录的扫描者 三、os.walk()&#xff1a;文件系…