two.建类
完全面向对象的Java要从类和对象搞起嘛,这一步我们要建立我们的类了~(再加上接口就更牛逼了,目前先不用)
1、建类包:右击src->new->package->com.hello。以类包管理类,据说是个好习惯,包的命名为啥加个com,,,我也想问~
2、建类:HelloWorld,MainApp
3、编码,也可叫coding~~,都是示范性的代码,适合小白,大神别喷我~~
package com.hello;
public classHelloworld {
private String name;
public void setName(String name) {
this.name = name;
}
public void hello(){
System.out.println("hello "+name);
}
}
如果是普通情况下实现输出helloworld的话,MainApp中会是这样实现的:
package com.hello;
public class MainApp {
public static void main(String[] args) {
HelloWorld hi = new HelloWorld();
hi.setName("jack");
hi.hello();
}
}
也就是把声明对象,对象的属性赋值,放在main方法中。如果是用神奇的发春(spring)的套路,就是下面酱紫~
package com.hello;
/**
* 引入两个spring的包,里边定义了ApplicationContext接口类
*ClassPathXmlApplicationContext实现类
* main方法中用来读取xml配置
*
*/
importorg.springframework.context.ApplicationContext;
importorg.springframework.context.support.ClassPathXmlApplicationContext;
public class MainApp {
public static void main(String[] args) {
/*
HelloWorld hi= new HelloWorld();
hi.setName("jack");
hi.hello();
*/
ApplicationContext ctx= newClassPathXmlApplicationContext();
HelloWorld hi =(HelloWorld)ctx.getBean("helloworld");
hi.hello();
}
}
看看,看看,让程序发了一下春,有啥变换?是不是少了正常情况下对象的声明,也没有了对象属性(也就是name)的赋值,但是,貌似依然能够用HelloWorld声明的对象输出,这是为啥哩(请自行脑补河南腔~~)?我们柯南一下:一定在某个地方对象被声明了,一定在某个地方对象的属性被赋值了!!呦西,是不是感受到了些许的控制反转——卧槽,创建对象不受原来程序的控制了还不是反转了啊,起止是反转,简直是反了反了~~有没有点儿不一样的感觉,哈哈。没关系,太理论的东西咱们慢慢来,有感觉才是第一步嘛。。。就像那啥,是吧~~~
Ok,到这儿,我们的三步走的第二步完工!就是这么easy,妈妈不用担心你的~= =,你又可以松口气,瞅瞅旁边的美女了,已经完成三分之二了,胜利在望,加油哦(志玲姐姐~