如何用java开发一个web系统
开发web系统需要:
需要的软件:数据库(mysql、oracle...)、IDE(eclipse、myeclipse...)、服务器(Apache、Tomcat、JBoss...)。
2.需要的技术:java基础、sql、jdbc、html、css、jsp、servlet(这里就不说一些框架了)
3.设计web系统数据库结构,用eclipse编写web系统《/p》《p》页面,编写java servlet代码处理页面请求,jdbc连接数据库进行数据交互,最后将开发好的web系统部署到web服务器上启动,最后直接在IE或其他浏览器中进行访问。-we
4.不清楚你的情况,所以只是大概说下。没深入也没详细说
java 中boolean与Boolean的区别
boolean 是Java中最基本8种类型中的一种,java为8中基本类型提供了封装类,用来表示一个对象
因为boolean在堆栈中,所以更加高效一些。
Boolean是boolean 的封装类,和其他类一样,有属性有方法,可以new,例如:
Boolean flag = new Boolean(“true“); // boolean 则不可以!
Boolean 是boolean 的实例化对象类,和Integer对应int一样
自jdk1.5.0以上版本后,Boolean在“赋值“和判断上和boolean一样,
即是你: boolean b1 = true ; 或者 Boolean b2 = true ; 都可以。
唯一只能使用Boolean上的就是从列表或者哈希表获取值时。
比如 boolean t = false;
Map map = new HashMap();
map.put(“t“, t);
那么获取值时只能用
Boolean t1 = (Boolean) map.get(t); //前面只能用Boolean强制转换,不能使用boolean.
-java
谈谈你对面向对象的理解
浅谈对面向对象的理解
为什么要使用面向对象的思想来看待问题?
1.面向对象更利于我们看待问题,它使得我们看待问题变得清晰化。对于问题我们只需要了解问题所牵扯到的对象有哪些,它们在这个问题中都有着哪些行为即可。
2.面向对象最大的改变应该是我们看待问题高度发生改变。在利用面向过程的思想看待问题时只是关注程序的变量,语句,表达式的合理性,关注代码块的功能。而利用面向对象的思想进行设计时,我们只需关注对象与对象之间关系。而具体的实现细节是由对象的方法来实现的。但并不是说面向过程就一无是处,对于对象里的方法还是要利用面向过程的思想的。
面向对象的特性
继承是面向对象编程思想中重要的一部分。简单的讲就是从一个已有的类中派生出新的类。来实现一些父类没有的功能。父类允许子类继承它的方法,如果父类中有些方法和子类中的方法发生冲突,子类可以重写该方法。子类也可以实现父类的所有功能。对于基类的设计过程,我们应该根据实际情况包含各种可能性。比如说有一个狗的类,任何一个品种的狗都可以继承它,去实现自己细节。但如果要实现猫的行为方式,显然狗这个类就不适合了,应该在往上走,去实现一个动物的类,就可以继承这个类来实现猫的行为属性。这样做的目的是使程序具有较高的可扩展性。继承的优点是,提高代码的复用性,降低工作量。缺点是,如果父类的大部分功能子类都用不上,那么子类就显得比较冗余了。
面向过程的实现过程就是变量在函数之间的不断传递,使得函数之间进行信息的交流来实现编程的需要的。这样的后果就是如果变量在某一函数中被改变了,会导致整个程序出错。对于面向对象来说,信息之间的交流是以对象做为参数的,调用的类只能使用该类的某些功能来实现自己的功能。里面的信息对外界来说是不可见的,也无法改变类中的属性。因为类中的属性大多都是私有的或保护的。这就体现了封装性,封装是将属性和方法“打包”,属性私有化或保护化,方法公有化,只能使用该类的方法来使用和改变该类的属性。就好像人一样,比如吃饭是一个方法,那么吃多吃少是自己的事,与别人无关。别人也不可能改变这个事实。
对于面向对象来说,类相当于一个模板,一个抽象的概念,对象才是类的实例化体现,即是程序代码的组成部分。对于继承了父类的多个子类而言,重写了父类的某些方法,方法名虽然相同,方法体不同,实现过程不同,即不同子类的该方法不同。使用父类类型定义的子类对象。调用不同子类的方法,产生的了不同结果,这种变化就叫多态性。尤其对于父类是抽象类来说,由于父类中的方法未定义,不同子类继承父类后,可以重写父类的方法。抽象类不能实例化对象,只能被继承,一般作为基类。
面相对象的原则
一.单一原则
就一个类来说,类的功能应该较为单一一点,不应该是各种功能都包含在一起,这样不利于代码的维护,容易产生BUG,也破坏了类的本质。应该是类中的所有方法都为某一功能服务。但并不是类分的越详细越好,根据实际情况而定。
二.开闭原则
对于一个类来说,应该是扩展是开放的,修改是关闭的。随着人们的对软件功能的不断期待和改变,我们总是避免不了的要在原有的代码的基础上进行变化,但我们不可能对原有的代码进行修改,因为这可能使原有出现BUG,所以扩展是理所当然的。这个就要通过继承来实现了。
三.迪米特原则
一个类应该降低对其它类的耦合度,如果避免不了要与其它类产生关联的话,应该避免对其它类的了解。保持类的封装性特点。如果两个类之间耦合度较高的话,一个类的改变会影响另一个类,而面向对象的原则是程序之间的类应该是很少关联的各个类执行自己的功能就好。
对象之间的关系
泛化关系是对象之间耦合度最大的一种关系,就是继承关系。在JAVA中接口就类似于抽象类,它是方法说明的集合,子类继承接口,并实现接口中的方法,就是实现关系。在程序中,有时候避免不了的要把某一个对象做为参数,局部变量,返回值,让另一个对象调用完成该类的某些功能。这就是依赖关系。聚合关系是整体包含局部的概念。例如班级与学生之间的关系。组合关系是一种强烈的包含关系。例如学校和班级之间的关系,公司和部门之间的关系。聚合关系和组合关系的区别就在于,聚合关系中的的局部可以独立存在,例如这个班级被取消了,不能说明班里的学生就不是学生了。组合关系而言,整体的生命周期和局部的生命周期是息息相关的,如果整体不存在了,局部肯定不存在了,例如公司倒闭了,那么它其中的某一个部门肯定也不会存在。
总结
所谓面向对象编写的程序,就是通过不同对象的实现来实现整个功能。重点还是如何合理的设置对象,以及对程序的包容性,即你要考虑将来可能会改变某一功能或添加某一功能。对程序的升级。还有就是在满足程序功能的前提下保持低耦合度。
-we