主题:“天空之城之全民源代码迁移”

故事背景:“在不久的将来,地球加速运转,随着科技发展,我们进入源世纪,慢慢顺应了星球的运转,我们可以穿梭在外太空,结交星空好友,探索宇宙奥秘...”

目前程序定义主类天空之城,及两个继承类先适应的小行星类和流星类,我们给星体命名,搭建科技桥,及源连接...

第一部分,我们先看看主类的内容 @skyCity 天空之城

使用java基本数据类型 字符串String  整数类型int  浮点类型float

我们java的基本数据类型还可以有 无符号型byte、短整型数据类型short、长整型数据类型long、双精度浮点型double、布尔逻辑型boolean、字符指针char

package skyCity01;
/*** YicStudio** @ClassName类名: skyCity* @Description描述:* @author编程者: 一冲子* @date日期: 2022/11/18 18:49* @Blog小猴子: https://blog.csdn.net/YIC020920/* @Blog博客园: https://www.cnblogs.com/YICHONG-777/*/
public class skyCity {/** 天空之城初始变量 基本数据类型* @population 人口*/private int skyCityId = 1001; //@skyCityId 天空之城IDString name = "天空之城"; //命名:天空之城int population = 0; //天空之城人口float sideX = 1.9866f;  //比例边长Xfloat sideY = 2.7897f;  //比例边长Yint appearYear = 2077; //出现年份
}

第二部分是两个继承类 @asteroid 小行星类  @meteor 流星类

这里我们可以看一下新加的两个构造器里存在一个super(),它可以帮助我们访问超类的构造方法和子类所隐藏的方法。

    /*** @asteroid 小行星类*/class asteroid extends skyCity{private String name; //@name 小行星命名private int appearYear;  //天空之城新增小行星居住地年份private int asteroidId; //@asteroidId 小行星IDprivate double asteroidPopulation;  //小行星人口private String operatingMode = "绕月飞行";public asteroid(int skyCityId, String name, int population, int appearYear, String name1, int appearYear1, int asteroidId, double asteroidPopulation) {super(skyCityId, name, population, appearYear);this.name = name1;this.appearYear = appearYear1;this.asteroidId = asteroidId;this.asteroidPopulation = asteroidPopulation;}}/*** @meteor 流星类*/public class meteor extends skyCity{String name = "天空之城主流星体";int meteorId = 20830713;int appearYear = 2083;double meteorPopulation = 0; //流星人口public meteor(String name, int meteorId, int appearYear, double meteorPopulation) {super();this.name = name;this.meteorId = meteorId;this.appearYear = appearYear;this.meteorPopulation = meteorPopulation;}}

第三部分实现封装

1. 修改属性的可见性来限制对属性的访问(一般限制为private)

2. 对每个值属性提供对外的公共方法访问,也就是创建一对赋取值方法,用于对私有属性的访问

public class meteor extends skyCity{String name = "天空之城主流星体";int meteorId = 20830713;int appearYear = 2083;double meteorPopulation = 0; //流星人口public meteor(String name, int meteorId, int appearYear, double meteorPopulation) {super();this.name = name;this.meteorId = meteorId;this.appearYear = appearYear;this.meteorPopulation = meteorPopulation;}@Overridepublic String getName() {return name;}@Overridepublic void setName(String name) {this.name = name;}public int getMeteorId() {return meteorId;}public void setMeteorId(int meteorId) {this.meteorId = meteorId;}@Overridepublic int getAppearYear() {return appearYear;}@Overridepublic void setAppearYear(int appearYear) {this.appearYear = appearYear;}public double getMeteorPopulation() {return meteorPopulation;}public void setMeteorPopulation(double meteorPopulation) {this.meteorPopulation = meteorPopulation;}/** @meteorIntroduce 流星简介 */void meteorIntroduce(){System.out.println("当前主流星类使用实参进行命名:"+name+",流星编号是:"+meteorId+",升空年份:"+appearYear+"年!");System.out.println("以下是使用形参构造器命名的星体...");meteor m1 = new meteor("美博星",20770328,2080,12.8);System.out.println("当前泛流星类被命名为:"+m1.name+",流星编号是:"+m1.meteorId+",升空年份:"+m1.appearYear+"年,居住人口:"+m1.meteorPopulation+"万人");subMeteor sM1 = new  subMeteor("白蒂星", 20900829, 2083, 2.7);System.out.println("当前子流星类被命名为:"+sM1.name+",流星编号是:"+sM1.meteorId+",升空年份:"+sM1.appearYear+"年,居住人口:"+sM1.meteorPopulation+"万人");System.out.println("当前主流星类的总人口:"+( m1.meteorPopulation + sM1.meteorPopulation )+"万人");}
}

第四部分@finalClass,主要内容是finalAndStatic,沉着且保持冷静。

/** final 类不能被继承,没有类能够继承 final 类的任何特性。*/public final class finalClass{final int number = 10;/** final 修饰符通常和 static 修饰符一起使用来创建类常量。 */public static final int NUMBER = 20;int sumNumber;boolean constant = true;public final void modifiers(){
/*** 父类中的 final 方法可以被子类继承,但是不能被子类重写。* 声明 final 方法的主要目的是防止该方法的内容被修改。*/System.out.println("本方法由final修饰,不可被修改");sumNumber = number+NUMBER;if (NUMBER==30){constant = true;System.out.println("当前变量为常量,可被修改?"+constant+",运算结果:"+sumNumber);}else {constant = false;System.out.println("当前变量为常量,不可被修改!"+constant+",运算结果:"+sumNumber);}}}

最后是使用主方法执行整个天空之城故事程序...面向对象基本实现.

public class skyCity_main {public static void main(String[] args) {System.out.println("我是天空之城主方法...");/**创建一个对象调用自身的方法*/skyCity s1 = new skyCity();s1.range();s1.exist();}
}

Java未来城市练习代码01相关推荐

  1. 基于JAVA的城市公交查询系统毕业论文(含源文件)

    获取项目源文件,学习交流联系Q:1225467431 摘要:公交查询系统是城市道路交通的重要组成部分,是城市发展的必然产物,是联系国民生活.社会生产和流通领域的关键环节.安阳城市公交查询系统的发展处于 ...

  2. 基于JAVA的城市公交查询系统毕业论文

    欢迎添加微信互相交流学习哦! 项目源码:https://gitee.com/oklongmm/biye2 摘要:公交查询系统是城市道路交通的重要组成部分,是城市发展的必然产物,是联系国民生活.社会生产 ...

  3. 中国到底有多少个.NET 程序员?都在哪个城市写代码?

    中国到底多少个.NET 程序员,对于这个问题,似乎没有一个准确的答案,而且最近很多使用.NET 开发技术的老板在抱怨找不到.NET 开发人员,所以我想基于我的公众号粉丝数据给大家分享下中国的.NET程 ...

  4. HTML3D立体城市特效代码

    HTML3D立体城市特效代码 鼠标可以控制"行走"方向,立体性很强 index.html代码如下 <!doctype html> <html> <he ...

  5. Java 未来行情到底如何,来看看各界人士是怎么说的

    这是黄小斜的第102篇文章 作者 l 黄小斜 来源 l 公众号[程序员黄小斜](ID:AntCoder) 转载请联系作者(wx_ID:john_josh) Java从出生到现在已经走过了 20 多个年 ...

  6. 中国到底有多少个 NET 程序员 都在哪个城市写代码

    中国到底多少个.NET 程序员,对于这个问题,似乎没有一个准确的答案,而且最近很多使用.NET 开发技术的老板在抱怨找不到.NET 开发人员,所以我想基于我的公众号粉丝数据给大家分享下中国的.NET程 ...

  7. 统计java文件中的代码行数

    统计Java代码行数工具类  --  CodeCounterUtil.java 统计指定目录下的java文件中代码行数  --  public static int  getCodeNumFromFo ...

  8. MIT-THU未来城市创新网络即将和你见面!

    一个月前,清华大学副校长.教务长,清华大学全球产业4.5研究院("产研院")院长杨斌访问美国麻省理工学院,会见教务长马丁·施密特(Martin Schmidt).副教务长理查德·莱 ...

  9. 《WeCity未来城市2.0白皮书》全文发布

    全文共计899字60图,预计阅读时间12分钟 来源 | 腾讯研究院(转载请注明来源) 编辑 | 石煜倩 新基建浪潮之下,新型城镇化的建设正在加速,这为数字技术与经济社会融合带来了更多的想象空间:同时后 ...

  10. 数据驱动的未来城市八大趋势

    来源:微信公众号腾讯研究院 趋势一 更可持续 城市的发展要为整个人类文明的永续传承和为后人能享受到更高质量的生活为目标.一个更加智慧的城市,势必具有着更加可持续发展的能力.新科技为城市的核心系统的设施 ...

最新文章

  1. XML序列化以及新增节点XMLHelper
  2. 怎样快速学习html5,如何快速学习HTML5?带你了解HTML5学什么?
  3. 算法设计与分析——回溯法——n皇后问题
  4. Jenkins安装部署篇
  5. 使用DBUnit做单元测试
  6. hbase使用restful接口进行数据操作
  7. 黑石五子棋软件测试自学,黑石(五子棋超强软件)的使用技巧
  8. Windows下 Java9安装教程
  9. 拉普拉斯变换 性质 及常用函数变换
  10. 筷子兄弟--11度青春系列电影之老男孩,相信你会感动!!
  11. ubuntu安装pinta(图片编辑器)
  12. oracle文件头0号块损坏的处理
  13. 微信小程序web-view的使用教程
  14. VSCode实现STM32开发
  15. C语言-03-基本数据类型及输入输出函数
  16. spark系列11:RDD之间的依赖关系,窄依赖和宽依赖
  17. 复旦计算机学硕上岸,复旦大学工程与应用技术研究院电子信息2020年考研上岸前辈经验指导...
  18. python var是什么意思_python3函数里var是什么意思?
  19. 国际运营商物联网布局及启示
  20. 在微信项目的通讯录页面中增加添加联系人功能

热门文章

  1. RecyclerView侧滑删除
  2. vim插件管理利器:pathogen
  3. 大学生面试20个经典问题及回答思路!
  4. opend和open的区别_open 和 opened 的具体区别~~
  5. Kafka-Failover笔记
  6. 基于yolov5s+bifpn实践隧道裂缝裂痕检测
  7. C语言人五英尺七英寸,“5英尺7英寸”等于多少厘米
  8. 视频带宽(码流_分辨率_帧率)
  9. 360视频:正八面体投影OHP
  10. Vue3 Extraneous non-props attributes (id) were passed to component but could not be automatically