论如何阐明一个概念?

话说

最近笔者博客多是“假大空”的东西,今天也不例外。我们来谈谈如何阐明一个概念。

目录


1、反面教材
2、正面教材1
3、正面教材2
4、结论


难度系数:★★★★☆

1、反面教材
《JAVA跨域资源访问CORSFilter》这是笔者看到的一篇博客,博文第一句话是:

当一个资源从与该资源本身所在的服务器不同的域或端口不同的域或不同的端口请求一个资源时,资源会发起一个跨域 HTTP 请求。

很凝练吧?很凝练。概念没别的,就是凝练的很!可是,我是读了好几篇,也不怎么懂;当然我还是懂得,比如前后端分离,发布到不同的服务器上,就会遇到跨域问题。这里一上来就这么一句,实在不怎么会阐述一个概念。


那么怎样才算是比较好的阐述一个概念呢?

2、正面教材1

HTTP是一个无状态的协议。这句话里的无状态是什么意思

综合大家的回答,我觉得举个例子会更好理解一些。
有状态:
A:你今天中午吃的啥?
B:吃的大盘鸡。
A:味道怎么样呀?
B:还不错,挺好吃的。
无状态:
A:你今天中午吃的啥?
B:吃的大盘鸡。
A:味道怎么样呀?
B:???啊?啥?啥味道怎么样?
所以需要cookie这种东西:
A:你今天中午吃的啥?
B:吃的大盘鸡。
A:你今天中午吃的大盘鸡味道怎么样呀?
B:还不错,挺好吃的。

作者:陈清和
链接:https://www.zhihu.com/question/23202402/answer/300614865
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

这里的回答真是经典!作者在动脑子,他把一个”无状态“这种类似”机器语言”的表述转换为了通俗易懂的”大盘鸡“,3岁小孩估计都听得懂。这就是一种阐述概念的好方式——打比方。

3、正面教材2

以下是笔者自己尝试解释:向上转型与向下转型
运用的多得就是数据类型和类,这里只是阐明一种叙述问题的方法,没有说透这个话题的意思

结论:向上、向下是针对各自范围而言的,意思说高==》低,那么要强制转换,怎么强制?();
低==》高,默认转换。听起来很学术,通俗话这么理解:你官居一品,派你做个县令,这就
是高==》低,你当然不大愿意,所以要强制,体现在代码上就是:县令 县 = (县令)一品; 
  ()就是强制的意思,管你愿意不愿意。
你本来是个九品芝麻官,破格提拔你当四品大员,就是低==》高。这样自然就转换了
(Java编译器自动转换),体现在代码就是:四品  四 = 九品 九;

eg:
ServletRequest范围就是比HttpServletRequest范围大,关系有点类似:动物==》哺乳动物。看二者具体继承、实现关系,打开JDK即可:

这里写图片描述

正因为这里的接口之间有继承关系,用的时候没必要在new一个,占用内存,就好比你爷爷有锤子,你就没必要在买一把锤子,虽然不大好用,换一下把把即可。
代码中是如何体现向下、向上转型呢?

/**
Author:meice Huang
Time:2018年5月19日下午4:17:08
*/
public class MyFilter  implements Filter{

@Override
    public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain)
            throws IOException, ServletException {
        //向上转型
        HttpServletRequest req1 = null;
        HttpServletResponse resp1 = null;
        req = req1;//这里是不用强制转型的
        resp = resp1;
        //向下转型(强转)
        HttpServletRequest req2 = (HttpServletRequest)req;//cannot convert from ServletRequest to HttpServletRequest
        HttpServletResponse resp2 = (HttpServletResponse)resp;
    }
}

4、结论


不论多么简单的概念,用你的理解赋予其鲜活的生命力!

不论多么平凡的人生,用你的理解赋予其最不平凡的意义!


下期再会!

猜你喜欢

转载自blog.csdn.net/meiceatcsdn/article/details/80375875