《Java从入门到放弃》JavaSE入门篇:面向对象语法一(入门版)
前一次简单说明了一下面向对象编程的概念,今天我们就把这些概念通过Java语法来实现,然后看看效果。
来看第一个案例:定义女神类,再根据女神类创建三个女神对象,并使用女神对象的属性和方法。
第一步:定义女神类(因为Java本身没有这个类型,所以我们自己创建这个类型)
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
/** * 女神类 */public class Goddess { public String name; //姓名 public int age; //年龄 public double stature; //身高 /** * 自我介绍方法 */ public void show(){ System.out.println("我叫"+name+",今年"+age+"岁,身高为"+stature); }} |
第二步:创建包含main方法的Test类(main方法相当于程序运行的起始点)
|
1
2
3
4
5
|
public class Test { public static void main(String[] args) { }} |
第三步:在main方法创建三个女神类的对象(因构造方法等还没学习,所以使用最基本的语法)
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
public class Test { public static void main(String[] args) { //创建三个女神类型的对象 Goddess lin = new Goddess(); Goddess chang = new Goddess(); Goddess jia = new Goddess(); //使用对象的属性 lin.name = "林志玲"; lin.age = 43; lin.stature = 1.73; chang.name = "苍井空"; chang.age = 34; chang.stature = 1.55; jia.name = "贾玲"; jia.age = 35; jia.stature = 1.66; //调用对象的方法 lin.show(); chang.show(); jia.show(); }} |
运行结果:

看语法是不是很简单!!!如果不使用面向对象的方式,那我们name要定义三个变量,age或定义三个变量,stature也要三个变量,一共要九个变量,而现在只需要三个Goddess类型的变量就解决问题了,而且属性都是同名的,也方便记忆和使用。
现在又有新的需求出现!!!
以前所有的都是女神,现在需要再细分为御姐和萌妹!(声明:作者不知道这些是什么意思,都是通过网络查询才知道的,作者君是单纯的!!!)
然后和女神平级的还有女汉子,女汉子又分为学霸和屌丝!
女神和女汉子都是女人!!!

最后最后最后,根据现在变化的需求,我们还要考虑到,以后会不会有更多种类的女神出现?比如女王等,还会不会和女神平级的“恐龙”出现?
这些都是有可能的吧,所以我们就考虑把代码做如下修改(用到继承):

女性:
属性:姓名,年龄,身高
方法:自我介绍()
女神:具有女性的所有行为(方法)和特征(属性)
特有属性:颜值
女汉子:具有女性的所有行为(方法)和特征(属性)
特有属性:霸气值
特有方法:狂化()
御姐:具有女神的所有行为(方法)和特征(属性)
特有属性:性感值
萌妹:具有女神的所有行为(方法)和特征(属性)
特有方法:卖萌()
学霸:具有女汉子的所有行为(方法)和特征(属性)
特有属性:悟性
特有方法:打击学渣()
屌丝:具有女汉子的所有行为(方法)和特征(属性)
特有方法:抠脚()
我来写女性、女神和女汉子的代码,剩下的代码相信各位看官能够自己实现了吧。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
/** * 女性类 * */public class Woman { public String name; //姓名 public int age; //年龄 public double stature; //身高 /** * 自我介绍方法 */ public void show(){ System.out.println("我叫"+name+",今年"+age+"岁,身高为"+stature+"米."); }}//////////////////////////////////////////////////////////////////////////////** * 女神类 * 继承了Woman类 */public class Goddess extends Woman { public int faceValue; //颜值}//////////////////////////////////////////////////////////////////////////////** * 女汉子类 * 继承了女性类 * */public class GirlMan extends Woman { public int domineeringValue; //霸气值 public void berserker(){ System.out.println("霸气值已充满,开始狂化中···"); }} |
三个类定义好了,其中女神和女汉子类使用extends关键字继承了女性类。继承后,女神和女汉子就可以使用女性类中定义的属性和方法了。
编写测试类代码:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
public class Test { public static void main(String[] args) { //创建三个女神类型的对象 Goddess lin = new Goddess(); //女神对象 GirlMan jia = new GirlMan(); //女汉子对象 //使用对象的属性 lin.name = "林志玲"; lin.age = 43; lin.stature = 1.73; lin.faceValue = 99; //颜值 jia.name = "贾玲"; jia.age = 35; jia.stature = 1.66; jia.domineeringValue = 95; //霸气值 //调用对象的方法 lin.show(); //调用父类(女性类)的方法 jia.show(); jia.berserker();//调用自已特有的方法 }} |
运行结果:

至于封装和多态,我们留到下一篇再来介绍吧。
“软件思维”博客地址:51CTO,博客园,感兴趣的小伙伴可以去看相关的其它博文。
《Java从入门到放弃》JavaSE入门篇:面向对象语法一(入门版)的更多相关文章
- dotnet 从入门到放弃的 500 篇文章合集
本文是记录我从入门到放弃写的博客 博客包括 C#.WPF.UWP.dotnet core .git 和 VisualStudio 和一些算法,所有博客使用 docx 保存 下载:dotnet 从入门到 ...
- Java性能测试从入门到放弃-详解篇
Jmeter组件分类说明 Jmeter的组件可以放在任意位置 线程池:用于创建线程.每个线程会"批次顺序"执行任务,因此后面的任务可根据前面的任务决定具体的操作. ...
- 函数响应式编程(FRP)从入门到”放弃”——基础概念篇
前言 研究ReactiveCocoa一段时间了,是时候总结一下学到的一些知识了. 一.函数响应式编程 说道函数响应式编程,就不得不提到函数式编程,它们俩到底有什么关系呢?今天我们就详细的解析一下他们的 ...
- python从入门到放弃之线程篇
一,什么是多线程? 1.多线程的概念? 说起多线程,那么就不得不说什么是线程,而说起线程,又不得不说什么是进程. 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分 ...
- 拒绝从入门到放弃_《Python 核心编程 (第二版)》必读目录
目录 目录 关于这本书 必看知识点 最后 关于这本书 <Python 核心编程 (第二版)>是一本 Python 编程的入门书,分为 Python 核心(其实并不核心,应该叫基础) 和 高 ...
- 2018-8-10-dotnet-从入门到放弃的-500-篇文章合集
title author date CreateTime categories dotnet 从入门到放弃的 500 篇文章合集 lindexi 2018-08-10 19:16:52 +0800 2 ...
- Kafka从入门到放弃(三)—— 详说消费者
之前介绍了Kafka以及生产者,包括它的一些特性和参数,这回写一下消费者. 之前没看得可以点击链接阅读. Kafka从入门到放弃(一) -- 初识Kafka Kafka从入门到放弃(二) -- 详说生 ...
- hive从入门到放弃(三)——DML数据操作
上一篇给大家介绍了 hive 的 DDL 数据定义语言,这篇来介绍一下 DML 数据操作语言. 没看过的可以点击跳转阅读: hive从入门到放弃(一)--初识hive hive从入门到放弃(二)--D ...
- Linux Capabilities 入门教程:进阶实战篇
原文链接:https://fuckcloudnative.io/posts/linux-capabilities-in-practice-2/ 该系列文章总共分为三篇: Linux Capabilit ...
随机推荐
- hadoop学习第一天-hadoop初步环境搭建&伪分布式计算配置(详细)
一.虚拟机环境搭建 我们用的虚拟机为vmware,Linux镜像为centOS6.5. vmware安装 安装没什么多说的,一路下一步,但是在新建虚拟机的时候有两个地方需要注意: 1.分配处理器1个就 ...
- 用subline text写PHP后台服务器POST请求
1 运行XAMPP程序,看到Apache Web Server 是Running状态即可 2 打开Subline text ,新建一个PHP文件,选择保存路径:应用程序->XAMPP->h ...
- 朋友的发展--->对自己深深地激励。
从4月5号来厦门开始实习到现在,也断断续续的跟着大佬开始实现需求了,就记录下自己这一段时间的想法吧,可能未来的自己看来会觉得挺可笑的,这个春招,说实话,自己挺失败的,为了求稳,来厦门这边面试美团,以至 ...
- JS 无法清除Cookie的解决方法
JS 无法清除Cookie的解决方法 项目中使用sdmenu.js时,需要在登录时清除Cookie,而sdmenu默认是会保存Cookie的 下面是sdmenu.js保存Cookie的方法 doc ...
- Head First 设计模式 第2章 观察者模式
第2章.观察者模式 1.定义: 在对象之间定义一对多关系,当一个对象改变状态时,该对象的依赖会收到通知,并自动更新. 2.介绍 在介绍观察者模式之前,先来说一个日常生活中经常碰到的事(可能现在的人碰到 ...
- 【.net 深呼吸】获取日期的干支纪年
其实,中国的农历是用干支纪年法的,“干支”即,十天干与十二地支. 十天干为:甲.乙.丙.丁.戊.己.庚.辛.壬.癸. 十二地支为:子.丑.寅.卯.辰.巳.午.未.申.酉.戌.亥. 十天干的含义如下: ...
- Linux操作系统-命令-free
在看过网友写的一篇名为<Buffer和Cache的区别>http://zhumeng8337797.blog.163.com/blog/static/1007689142011102447 ...
- python学习之核心数据类型
python核心数据类型 对象类型 例子 数字 1234,-345 字符串 'spam' 列表 [1,3,'ds'] 元组 (1,'spam',6) 字典 {'name':'lili','age':1 ...
- iOS组件化方案的几种实现
最近研究了一下项目的组件化,把casa.bang.limboy的有关组件化的博客看了一遍,学到了不少东西,对目前业界的组件化方案有了一定的了解.这些高质量的博客大致讨论了组件化的三种方案:url-bl ...
- [Python] wxPython 编辑框组件学习总结 (原创)
1.总结 1.常用4种 编辑框 的构造 1.普通编辑框 单行输入的简单编辑框 (?为所在框的对象,同下) self.textBox = wx.TextCtrl(parent = ?) 2.密码编辑框 ...