《java从入门到放弃》javase入门篇:面向对象语法一(入门版)

     2022-03-22     240

关键词:

前一次简单说明了一下面向对象编程的概念,今天我们就把这些概念通过Java语法来实现,然后看看效果。

来看第一个案例:定义女神类,再根据女神类创建三个女神对象,并使用女神对象的属性和方法

第一步:定义女神类(因为Java本身没有这个类型,所以我们自己创建这个类型)

/**
 * 女神类
 */
public class Goddess {
	public String name;	//姓名
	public int age;		//年龄
	public double stature;	//身高
	
	/**
	 * 自我介绍方法
	 */
	public void show(){
		System.out.println("我叫"+name+",今年"+age+"岁,身高为"+stature);
	}
}


第二步:创建包含main方法的Test类(main方法相当于程序运行的起始点)

public class Test {
	public static void main(String[] args) {

	}
}


第三步:在main方法创建三个女神类的对象(因构造方法等还没学习,所以使用最基本的语法)

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类型的变量就解决问题了,而且属性都是同名的,也方便记忆和使用。


现在又有新的需求出现!!!



以前所有的都是女神,现在需要再细分为御姐和萌妹!(声明:作者不知道这些是什么意思,都是通过网络查询才知道的,作者君是单纯的!!!

然后和女神平级的还有女汉子,女汉子又分为学霸和屌丝!

女神和女汉子都是女人!!!

技术分享


最后最后最后,根据现在变化的需求,我们还要考虑到,以后会不会有更多种类的女神出现?比如女王等,还会不会和女神平级的“恐龙”出现?

这些都是有可能的吧,所以我们就考虑把代码做如下修改(用到继承):

技术分享

女性

    属性:姓名,年龄,身高

    方法:自我介绍()

女神:具有女性的所有行为(方法)和特征(属性)

    特有属性:颜值

女汉子:具有女性的所有行为(方法)和特征(属性)

    特有属性:霸气值

    特有方法:狂化()

御姐:具有女神的所有行为(方法)和特征(属性)

    特有属性:性感值

萌妹:具有女神的所有行为(方法)和特征(属性)

    特有方法:卖萌()

学霸:具有女汉子的所有行为(方法)和特征(属性)

    特有属性:悟性

    特有方法:打击学渣()

屌丝:具有女汉子的所有行为(方法)和特征(属性)

    特有方法:抠脚()


我来写女性、女神和女汉子的代码,剩下的代码相信各位看官能够自己实现了吧。

/**
 * 女性类
 *
 */
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关键字继承了女性类。继承后,女神和女汉子就可以使用女性类中定义的属性和方法了

编写测试类代码:

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博客园,感兴趣的小伙伴可以去看相关的其它博文。  




本文出自 “软件思维” 博客,请务必保留此出处http://softi.blog.51cto.com/13093971/1962881

《java从入门到放弃》javase入门篇:练习——单身狗租赁系统

今天,我们要玩个大的!!!我们把之前使用数组做的这个单身狗系统改版成数据库版本,并且使用面向对象里面的一些简单思想。如果有不知道这个系统的看官,请跳转到目录页,然后再选择单身狗系统(数组版)先围观五分钟... 查看详情

《java从入门到放弃》javase入门篇:集合

今天来讲讲Java中的集合和常见集合类型的使用。什么是集合呢?刚好最近学校里面军训,只听到教官一声喊:“集合!!!”各位小萌新们就屁颠屁颠的跑过来排列整齐了,这就是集合···650)this.width=650;"src="https://img.baidu.com/hi/... 查看详情

《java从入门到放弃》javase入门篇:单元测试

单元测试其实没什么好说的,直接看操作步骤!我们来测试前一篇的小明买食物的方法。第一步:在小明类上点右键,然后再new一个JUnitTestCase650)this.width=650;"src="https://s3.51cto.com/wyfs02/M02/A5/8D/wKioL1m_iAygNbgSAABZDwejGG4076.png"title="11.png"w... 查看详情

《java从入门到放弃》javase篇:数组

数组,就是一组数!!!之前我们学习的变量只能保存一个数据,如果一个部门有50个员工的姓名要保存,怎么办?如果定义50个变量··················Stringname1;Stringname2;............Stringname49;Stringname50;,这画面太美,我不... 查看详情

《java从入门到放弃》javase入门篇:网络编程(入门版)

要进行网络编程,首先要搞清楚目的是什么。网络编程说简单点就是在网络上的计算机进行数据的交互。650)this.width=650;"src="https://s4.51cto.com/wyfs02/M00/07/18/wKiom1nDU8jBR29DAADRe0E88II285.png"title="11.png"width="600"height="328"border="0"hspace="0 查看详情

《java从入门到放弃》javase篇:程序结构

程序的结构一般分为三种:顺序结构。选择结构。循环结构。一、顺序结构:这个不用多说吧,跟我们平时写文章的顺序一样,从上往下。650)this.width=650;"src="https://s3.51cto.com/wyfs02/M01/A2/70/wKioL1mf0MqwRCa0AAA_SnPBxrY664.png"title="11.png"style... 查看详情

《java从入门到放弃》javase篇:程序结构

程序的结构一般分为三种:顺序结构。选择结构。循环结构。一、顺序结构:这个不用多说吧,跟我们平时写文章的顺序一样,从上往下。650)this.width=650;"src="https://s3.51cto.com/wyfs02/M01/A2/70/wKioL1mf0MqwRCa0AAA_SnPBxrY664.png"title="11.png"style... 查看详情

《java从入门到放弃》javase篇:程序结构

程序的结构一般分为三种:顺序结构。选择结构。循环结构。 一、顺序结构:这个不用多说吧,跟我们平时写文章的顺序一样,从上往下。 二、选择结构:从名字就能看出,要选择嘛,到底是要漂亮滴妹子,还是要有钱... 查看详情

《java从入门到放弃》javase篇:综合练习——单身狗租赁系统(数组版)

因为现在只学习了基本语法,所以在综合练习之前,先补充关于方法概念。方法的作用:把一系列的代码放在一起,然后再取个别名。之后通过这个别名的调用,就相当于执行了这一系列的代码。方法的语法:([]中的内容表示... 查看详情

《java从入门到放弃》文章目录

...,等相关内容都写完后,再按学习顺序来整理。《Java从入门到放弃》入门篇:XMLHttpRequest的基本用法《Java从入门到放弃》入门篇:Struts2的基本访问方《Java从入门到放弃》入门篇:Struts2的基本访 查看详情

《java从入门到放弃》入门篇:变量

变量是什么玩意呢?变量,顾名思义就是能变化的量--  好吧,举个栗子。图片上的各种餐具,就是变量,因为同一个盘子可以在不同的时间装不同的菜,在这一桌可以装土豆肉丝,在下一桌可以装清炒黄瓜(当然,这个盘... 查看详情

《java从入门到放弃》入门篇:hibernate查询——hql

不知不觉又到了hibernate的最后一篇了,只感觉时光飞逝~,岁月如梭~!转眼之间,我们就···························,好吧,想装个X,结果装不下去了,还是直接开始吧·650)this.width=650;"src="https://img.baidu.com/hi/jx2/j_00... 查看详情

《java从入门到放弃》入门篇:xmlhttprequest的基本用法

不闲扯,直接开讲。使用XMLHttpRequest对象,主要分为以下七个步骤:创建对象设置过期时间设置数据格式初始化HTTP请求设置HTTP头请求回传数据的处理发送HTTP请求对应代码如下所示<script type="text/javascript">   &nbs... 查看详情

java从入门到放弃——01.java环境搭建

本文目标:下载与安装JDK配置Java环境 1、JDK9下载:       下载地址:https://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase9-3934878.html 2、安装JDK:      打开安装包,除了下图可以取消公共JRE¹... 查看详情

《java从入门到放弃》入门篇:运算符

运算符分为运算和符。运算:是一种行为,通过已知量的可能的组合,获得新的量。 符:上古时期,符是沟通人和神的秘密图案,所以符是不可以随便乱画的,故有所谓“画符不知窍,反惹鬼神笑;画符若知窍,惊得鬼神叫”... 查看详情

《java从入门到放弃》入门篇:运算符

运算符分为运算和符。运算:是一种行为,通过已知量的可能的组合,获得新的量。 符:上古时期,符是沟通人和神的秘密图案,所以符是不可以随便乱画的,故有所谓“画符不知窍,反惹鬼神笑;画符若知窍,惊得鬼神叫”... 查看详情

《java从入门到放弃》入门篇:hibernate基本配置

hibernate是个什么玩意呢?简单点说,就是别人写好的一套访问数据库的东东,底层其实就是JDBC。使用JDBC就像以前没有电饭煲,我们要自己根据经验,多少人煮多少米,放多少水,用多大的火,煮多长时间,整个过程都需要自己... 查看详情

《java从入门到放弃》入门篇:struts2的基本数据传递方式

把这个和JSP的数据传递方式对比一下,你就会发现·······真的可以少写两句代码!!!struts2中常用的两种数据传递方式如下:属性匹配方式ModelDriven接口匹配方式(常用于自定义类型)个人比较喜欢使用第一种,为什么呢?因... 查看详情