java的spring框架中ClassPathXmlApplicationContext类和ApplicationContext接口
ApplicationContextact=newClassPathXmlApplicationContext("applicationContext.xml");spr...
ApplicationContext act=new ClassPathXmlApplicationContext("applicationContext.xml");
spring框架中ClassPathXmlApplicationContext类型的对象怎么能赋值给ApplicationContext类型的变量?
这两个像没有什么关系啊,怎么能这么做? 展开
spring框架中ClassPathXmlApplicationContext类型的对象怎么能赋值给ApplicationContext类型的变量?
这两个像没有什么关系啊,怎么能这么做? 展开
3个回答
展开全部
这两个类之间有继承或实现接口的关系。
面向对象的程序设计中一般都是允许一个类的对象实例赋值给它的父类或父接口。对象的真实类型不是由变量前面的符号决定的,而在你 new 这个对象实例的时刻决定的。
你的例子中,new ClassPathXmlApplicationContext(...) 这句就是创建一个对象实例。并且把它赋值给 act 这个符号。act 只是个符号,它的类型 ApplicationContext 是在表示这个对象实例“至少”有什么功能。面向对象的程序设计有一个概念叫抽象,就是把复杂问题简单化,当我们想需要知道某些功能时,我们就不要去花时间了解不必要的细节。把一个实现类(拥有更多功能)赋值给它你父类或接口就是在尝试隐藏不必要的细节,告诉你,你只要知道它有这些功能就足够了,其它的与你当前的用法无关。
相信你们以前的物理课本上也讲过“物理学中,把复杂问题简单化的过程就叫抽象。比如我们把力学中的物体抽象成为质点”。
不管一个编程语言是如何设计的,它最终是由人来设计的,也就是说,它们都会留下人类对社会现象的认识痕迹,要理解一门编程语言其实也需要找到它与现实生活的关联之外,这个把现实世界中的现象用某种表达式表现出来的过程中叫“建模” Modeling。如果你没有理解这层联系就还不能说自己理解了这门编程语言。所以大师们经常被关联到“艺术”这个词汇上,在他们看来,这些是相通的。
面向对象的程序设计中一般都是允许一个类的对象实例赋值给它的父类或父接口。对象的真实类型不是由变量前面的符号决定的,而在你 new 这个对象实例的时刻决定的。
你的例子中,new ClassPathXmlApplicationContext(...) 这句就是创建一个对象实例。并且把它赋值给 act 这个符号。act 只是个符号,它的类型 ApplicationContext 是在表示这个对象实例“至少”有什么功能。面向对象的程序设计有一个概念叫抽象,就是把复杂问题简单化,当我们想需要知道某些功能时,我们就不要去花时间了解不必要的细节。把一个实现类(拥有更多功能)赋值给它你父类或接口就是在尝试隐藏不必要的细节,告诉你,你只要知道它有这些功能就足够了,其它的与你当前的用法无关。
相信你们以前的物理课本上也讲过“物理学中,把复杂问题简单化的过程就叫抽象。比如我们把力学中的物体抽象成为质点”。
不管一个编程语言是如何设计的,它最终是由人来设计的,也就是说,它们都会留下人类对社会现象的认识痕迹,要理解一门编程语言其实也需要找到它与现实生活的关联之外,这个把现实世界中的现象用某种表达式表现出来的过程中叫“建模” Modeling。如果你没有理解这层联系就还不能说自己理解了这门编程语言。所以大师们经常被关联到“艺术”这个词汇上,在他们看来,这些是相通的。
展开全部
ClassPathXmlApplicationContext是ApplicationContext实现类,ApplicationContext是接口,其实父子类也可以这样用,具体的你可以网上找下接口类与实现类之间的关系
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你确定没关?怎么可能
class ClassPathXmlApplicationContext extends AbstractXmlApplicationContext
class AbstractApplicationContext extends DefaultResourceLoader
implements ConfigurableApplicationContext, DisposableBean
interface ConfigurableApplicationContext extends ApplicationContext
class ClassPathXmlApplicationContext extends AbstractXmlApplicationContext
class AbstractApplicationContext extends DefaultResourceLoader
implements ConfigurableApplicationContext, DisposableBean
interface ConfigurableApplicationContext extends ApplicationContext
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询