陪丈母娘学编程——JAVA之继承篇

陪丈母娘学编程——JAVA之继承篇

写在前面:最近阿姨迷上了和我学JAVA,也同时迷上了张亮的“继承”,为了和小丽在一起,我一定要留住阿姨,争取让她早日出师,我也早日迎娶小丽,升值加薪,走上人生巅峰!
–凹仔:阿姨,小丽在家吗?
–阿姨:出去和小亮玩了,你回家吧,凹仔。
–凹仔:阿姨,我是真的喜欢小丽,你不要这样啊~
–阿姨:你没戏,小亮继承了他爸的房子;
–凹仔:我真心喜欢小丽,阿姨,我要公平竞争!
–阿姨:公平竞争?小亮继承了他爸的奔驰~
–凹仔:阿姨,这些都是物质,小丽不是这样的人!
–阿姨:孩子,小亮还继承了他爸的公司,而且。。。。
–凹仔:阿姨,你这么说继承,那我就和你摆式摆式真正的JAVA里的继承!
–阿姨:JAVA啊,来凹仔你进屋~

概述继承

通过开篇前引子就可以大概了解到,所谓继承直白理解就是父亲拥有的东西传递给儿子,车子,房子,商铺等等,有这样一个初识,我们再来看JAVA中的继承。
首先,我们还记得每次编写代码都需要创建一个Class(类),如:

public Class Fu(){//创建一个名为Fu(父)的类

}

这里每一个类Class(类)都可以作为父类来被继承,当然这里的继承并不是来者不拒式的收纳,而是像国外的《继承法案》一样是有章可循,系统完备的继承。
这里我们就说一下通常一个父类(Class Fu)会被继承哪些东西,大致来说有以下两种:
1.父类中的属性变量;
2.父类中的方法;
例:

public class Fu{
	int num1 = 20;//属性变量1(成员变量)
	float num2 = 20.1;//属性变量2
	public void method1(){//方法1
		System.out.println("这是父类方法1");
	}
	public void method1(){//方法1
		System.out.println("这是父类方法2");
	}
}

明白了可以继承父类的哪些方法,那么我们就再探究下为什么会用到继承?
看了引子我们都会羡慕小亮的“继承”,比起普通悲催码农有了这些的小亮简直是少奋斗十年,何不美哉!对,就是生活的轻松了。同样,再JAVA中使用继承也是为了是我们写代码轻松很多。设想,如果有两个类Class A,Class B,他们中都有共同的一些属性和方法,如:
Class A

public class A {
	int num1=10;
	int num2=20;
	int num3=30;
	public void EatMethod(){
		System.out.println("这是吃饭的方法");
	}
	public void PlayMethod(){
		System.out.println("这是玩的方法");
	}
}

Class B

public class B {
	int num1=10;
	int num2=20;
	int num4=40;
	public void WashMethod(){
		System.out.println("这是洗澡的方法");
	}
	public void PlayMethod(){
		System.out.println("这是玩的方法");
	}
}

通过这两个类比较发现,其中有很多相通的属性和方法,那么我们在写代码过程中就需要进行机械性地敲键盘,一是无味,二是效率不高,所以这里我们就可以使用继承的方法来代替重复内容。
总结上面的Class A,Class B,我们可以提取共有的属性来建一个Class Fu,例:

public class Fu {
	int num1=10int num2=20public void PlayMethod(){
		System.out.println("这是玩的方法");
	}
}

这样,Class A,Class B就先可以继承Class Fu来提取相同的属性及方法。例

Class A
public class A extends Fu{
	int num3 = 30;
	public void EatMethod(){
		System.out.println("这是吃饭的方法");
	}
}
Class B
public class B extends FU{
	int num4 = 40;
	public void WashMethod(){
		System.out.println("这是洗澡的方法");
	}
}

如此一来,A和B两个类就都继承了Fu类的属性及方法,接着再将两个子类特有的部分添加进去就完成了。
那到底有没有成功呢,我们来测试一下。新建一个测试类Class Test

public class Test{
	public static void main(String[] args){
	A a = new A();
	a.PlayMethod();
	}
}

运行结果:

运行结果
虽然Class A中并没有输入PlayMethod()的方法代码,但因为继承了Class Fu(父类),所以此时作为子类的A同样也拥有了在父类定义的方法PlayMethod。
因此,通过这种提取类中相同部分作为父类,而后其他类在作为子类继承就大大提高了复用性,节省了机械地敲代码工作,顺便也挽留了秀发~

总结

待更新…
睡觉

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值