欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java小白的学习之旅———对继承的理解2

程序员文章站 2022-06-17 19:07:46
前面已经说过,儿子可以推陈出新。水果是不是要用具体的方法把它给处理了之后才能吃?所以我们在fruit类里面加一种方法叫做处理方法。class 柚子 extends fruit{void 处理方法(){} }然后呢,在吃这个方法之前,必须要调用这个方法对水果进行处理。class people { String name; void eat (fruit c ){ c.处理方法(); System.out.print(name+"吃掉了...

前面已经说过,儿子可以推陈出新。

水果是不是要用具体的方法把它给处理了之后才能吃?所以我们在fruit类里面加一种方法叫做处理方法。

class 柚子 extends fruit{
	void 处理方法(){
		
	} 
}	

然后呢,在吃这个方法之前,必须要调用这个方法对水果进行处理。

class people {
	  String name;
	  void eat (fruit c ){
		   c.处理方法();
	       System.out.print(name+"吃掉了"+c.name);
	  }
	  people(String name){
	       this.name=name;
	  }
}

但是呢,每个水果的处理方法是不同的,有些是要剥皮,有些是要切开。
在每个子类里面重新对这个方法进行书写。

class 苹果 extends fruit{
	void 处理方法(){
		System.out.print(name+"被切开了");
	} 
}

 

那么,像如上这种,父亲的方法,子类中也有,并且参数一致,我们就把这种子类重新把父亲的方法“发扬光大”的行为,叫做“重写”!

敲黑板!重写重载要分开啦!

重写,一定是父子之间的,而且传入的参数要相同,像上述的方法,就是都没有参数。你想想,你跟你爹总要有点一样的东西吧,你要是体内有一个y或者x染色体不是你爹的?????啊这(狗头保命)。

还有几个有意思的关键字。

1.abstract

2.static

3.final

4.public

5.protect

6.private

7.默认的(就是啥都不写)

1.先看abstract。

意思叫做抽象的,抽象的意思就是,啥也没有~~~

比如有一位父亲,没有什么东西可以给儿子,没办法,伸手比划了个钱包的样子,说,儿子嗷,这是个带钱包,但是需要你去用努力去装饰它,然后把它用钱塞得满满的。

好家伙,给个真钱包就算了,居然直接画画!这种啥都不给的,我们就叫他抽象啦。

抽象可以修饰类,就比如上文的修饰钱包,还有修饰方法,就是比如上文提到的“去用努力填充钱包”,好家伙,啥都不说,光叫你努力了。

abstract class 钱包{
    abstract void 挣钱方法();
}

就像这样,抽象的挣钱方法,你康康连花括号都没了,实在是太抽象了。

那抽象的可以实例化吗(就是new)?

不能!因为方法啥的都不完整,new出来也没啥意思,干脆就让new不可实现好了。

抽象的可以继承不?

当然,空气钱包可以继承,通过一代代人的努力,就变成了真的钱包,甚至里面还有很多钱捏!

抽象的也可以继承抽象的,空气钱包也可以当传家宝的嘛~~~

另外,抽象类里面可以有具体方法,比如空气钱包我可以测一测它的重量,所使用气体的摩尔体积等等。

但是,抽象方法只能在抽象类里面,不然会报错。

。。。。。。。。。

突然困了起来,睡觉觉去了,咱们明天再说,See you!~~~

 

本文地址:https://blog.csdn.net/weixin_52291069/article/details/110941497