随笔分类 -  问个问题学Java

从问题中学习Java程序
第3章 Java与面向对象——FAQ3.06 什么是内部类?有什么好处?
摘要:FAQ3.06 什么是内部类?有什么好处?答:内部类就是在一个类的内部声明一个新类,声明方法跟类的声明没什么不同,最简单的声明方法如下:class A{ class B{ }}B就是A的一个内部类,在java中,B可以随意访问A的所有成员和方法,包private和protected类型的,因此可以认为B是A的一个对外窗口—————&m... 阅读全文

posted @ 2010-01-22 21:49 2xd 阅读(746) 评论(1) 推荐(1)

第3章 Java与面向对象——FAQ3.05 什么是多态?有什么好处?
摘要:FAQ3.05 什么是多态?有什么好处?答:多态可以分为变量的多态,方法的多态,类的多态.我这里强调的是类的多态,这是我们在以后的工作中经常回用到的首先,有这样一个系统:有个学生工作从达内毕业了,作的还不错.买了辆捷达汽车.这个系统应该如何设计呢? 按照OO的思想,我们会抽象出来一个类,表示捷达汽车,其中有个run()方法 public class JD{ public void run(){ ... 阅读全文

posted @ 2010-01-19 00:59 2xd 阅读(786) 评论(0) 推荐(0)

第3章 Java与面向对象——FAQ3.04 什么是接口?有什么好处?
摘要:FAQ3.04 什么是接口?有什么好处?答:Java中的接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。接口的两种含义:一,Java接口,Java语言中存在的结构,有特定的语法和结构;二,一个类所具有的方法的特征集合,是一种逻辑上的抽象。前者叫做“Java接口&rdqu... 阅读全文

posted @ 2010-01-18 18:39 2xd 阅读(612) 评论(0) 推荐(0)

第3章 Java与面向对象——FAQ3.03 什么是抽象类?有什么好处?
摘要:FAQ3.03 什么是抽象类?有什么好处?答:抽象类是包含一种或多种抽象方法的类,它本身不需要构造实例。定义抽象类后,其它类可以对它进行扩充,并且通过实现其中的抽象方法,使抽象类具体化。———————————————&m... 阅读全文

posted @ 2010-01-18 18:09 2xd 阅读(1006) 评论(1) 推荐(0)

第3章 Java与面向对象——FAQ3.02 什么是包?有什么好处?
摘要:FAQ3.02 什么是包?有什么好处?答:包说得简单一点就是文件夹,可以把包看作是管理类文件的文件夹,使用原因是项目越来越大,文件和类越来越多。使用包的好处也很明显:第一 :当Java源文件多时,可以通过声明包的形式分类存放,这样有利于查找; 第二 :当有Java源文件同名时,通过使用声明包的形式存放,这样也可以不免同名冲突。创建包和调用包的方法:第一:建文件夹,将java文件放在这里,在java... 阅读全文

posted @ 2010-01-18 17:32 2xd 阅读(574) 评论(0) 推荐(0)

第3章 Java与面向对象——FAQ3.01 什么是类. 对象. 属性和方法?
摘要:FAQ3.01 什么是类. 对象. 属性和方法?答:通常,面试过程中会涉及Java基础方面的问题,例如类、对象、变量、方法等。这要求求职者对基本面向对象编程(OOP)有一个深入的了解。1.类在处理复杂事物的时候,用到一种基本手段就是抽象。抽象的目的是区别事物之间的本质和不同,面向对象编程(OOP)的实质就是利用 类和对象来建立抽象模型。类表示对象的类别,是创建对象的蓝本。建立一个事物的抽象模型,本... 阅读全文

posted @ 2010-01-18 17:12 2xd 阅读(757) 评论(0) 推荐(1)

第2章 Java编程基础——FAQ2.28 如何解决ArrayIndexOutOfBounds Exception异常?
摘要:FAQ2.28 如何解决ArrayIndexOutOfBounds Exception异常?答:这是一个非常常见的异常,从名字上看是数组下标越界错误,解决方法就是查看为什么下标越界。下面是一个错误示例: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2 at test4.State.nextStates(S... 阅读全文

posted @ 2010-01-18 11:38 2xd 阅读(980) 评论(0) 推荐(0)

第2章 Java编程基础——FAQ2.27 数组的排序算法有哪些?如何实现?
摘要:FAQ2.27 数组的排序算法有哪些?如何实现?答:import java.util.Random;/** * 排序测试类 * * 排序算法的分类如下: * 1.插入排序(直接插入排序、折半插入排序、希尔排序); * 2.交换排序(冒泡泡排序、快速排序); * 3.选择排序(直接选择排序、堆排序); * 4.归并排序; * 5.基数排序。 * * 关于排序方法的选择: * (1)若n较小(如n&l... 阅读全文

posted @ 2010-01-18 11:28 2xd 阅读(1335) 评论(0) 推荐(0)

第2章 Java编程基础——FAQ2.26 如何实现数组的复制?
摘要:FAQ2.26 如何实现数组的复制?答:复制数组的方法: 在JAVA里面,可以用复制语句“A=B”给基本类型的数据传递值,但是如果A,B是两个同类型的数组,复制就相当于将一个数组变量的引用传递给另一个数组;如果一个数组发生改变,那么引用同一数组的变量也要发生改变。 这个类似C或C++中(指针)地址传递。 以下是归纳的JAVA中复制数组的方法: 1。使用FOR循环,将数组的每... 阅读全文

posted @ 2010-01-18 11:15 2xd 阅读(638) 评论(0) 推荐(0)

第2章 Java编程基础——FAQ2.25 如何实现一维和二维数组的遍历?
摘要:FAQ2.25 如何实现一维和二维数组的遍历?答:在Java程序中,我们有时要逐一处理某些对象,比如数组或Collection类型的元素,这种操作一般称为遍历。 传统的遍历形式如下: a.PNG (14.64 KB)2008-3-5 16:01 本范例使用jdk1.6编写,所以使用了jdk的注释,否则使用支持泛型的集合类时会报警告。 @SuppressWarings(“某一种警告&r... 阅读全文

posted @ 2010-01-18 11:07 2xd 阅读(1728) 评论(0) 推荐(0)

第2章 Java编程基础——FAQ2.24 数组如何定义和初始化?
摘要:FAQ2.24 数组如何定义和初始化?答:本文讲述了Java数组的几个相关的方面,讲述了对Java数组的声明、创建和初始化,并给出其对应的代码。一维数组的声明方式: type var[]; 或type[] var;声明数组时不能指定其长度(数组中元素的个数),Java中使用关键字new创建数组对象,格式为: 数组名 = new 数组元素的类型 [数组元素的个数]实例: TestNew.java:程... 阅读全文

posted @ 2010-01-18 01:55 2xd 阅读(1420) 评论(0) 推荐(0)

第2章 Java编程基础——FAQ2.23 break和continue语句有什么区别?
摘要:FAQ2.23 break和continue语句有什么区别?答:break可以离开当前switch、for、while、do while的程序块,并前进至程序块后下一条语句,在switch中主要用来中断下一个case的比较。在for、while与do while中,主要用于中断目前的循环执行,break的例子您之前已经看过不少,这里不再举例。continue的作用与break类似,主要用于循环,所... 阅读全文

posted @ 2010-01-18 00:25 2xd 阅读(467) 评论(0) 推荐(0)

第2章 Java编程基础——FAQ2.22 创建String对象时, 使用String s=new String (“abc”)和String s=“abc”语句有什么区别?
摘要:FAQ2.22 创建String对象时, 使用String s=new String (“abc”)和String s=“abc”语句有什么区别?答:Java运行环境有一个字符串池,由String类维护。执行语句String s="abc"时,首先查看字符串池中是否存在字符串"abc",如果存在则直接将"abc"赋给s,如果不存在则先在字符串池中新建... 阅读全文

posted @ 2010-01-17 23:21 2xd 阅读(469) 评论(0) 推荐(0)

第2章 Java编程基础——FAQ2.21 ==和equals()都可用于比较两个操作数是否相等, 它们有什么区别吗?
摘要:FAQ2.21 ==和equals()都可用于比较两个操作数是否相等, 它们有什么区别吗?答:—————————————————————&mdash... 阅读全文

posted @ 2010-01-17 21:41 2xd 阅读(1083) 评论(0) 推荐(0)

第2章 Java编程基础——FAQ2.20 “+”操作符在Java内部是如何实现字符串连接的?
摘要:FAQ2.20 “+”操作符在Java内部是如何实现字符串连接的?答:字符串是Java程序中最常用的一种数据结构之一。在Java中的String类已经重载的"+"。也就是说,字符串可以直接使用"+"进行连接,如下面代码所示:String s = "abc" + "ddd";但这样做真的好吗?当然,这个问题不能简单地回答yes or no。要根据具体情况来定。在Java中提供... 阅读全文

posted @ 2010-01-17 19:43 2xd 阅读(1417) 评论(0) 推荐(2)

第2章 Java编程基础——FAQ2.19 x?y:z格式的语句表示什么意思?
摘要:FAQ2.19 x?y:z格式的语句表示什么意思?答:x是一个boolean类型,若x为true,结果显示y,若x为false,则结果显示z. 阅读全文

posted @ 2010-01-17 18:43 2xd 阅读(421) 评论(0) 推荐(0)

第2章 Java编程基础——FAQ2.18 在实现x递增加1操作时, x++和++x有什么区别?
摘要:FAQ2.18 在实现x递增加1操作时, x++和++x有什么区别?答:x++ 先取X的值, 再做自加即X+1 ++x 先做自加操作即X+1 再取X的值 ————————————————&mdash... 阅读全文

posted @ 2010-01-17 02:00 2xd 阅读(998) 评论(0) 推荐(0)

第2章 Java编程基础——FAQ2.17 在执行与运算时, 运算符&和&&有什么区别?
摘要:FAQ2.17 在执行与运算时, 运算符&和&&有什么区别?答:后者是进行与运算,前者也是与的意思,但是按'位'与比如说:2&5 就是把2和5变成二进制,然后对应的位进行与运算.0 0 为0,1 1 为1,0 1 和1 0 都是0 2-->010 5-->101 000->0—————&... 阅读全文

posted @ 2010-01-17 01:51 2xd 阅读(658) 评论(0) 推荐(0)

第2章 Java编程基础——FAQ2.16 在实现x和y相加时, x+=y和x=x+y两种实现方式有区别吗?
摘要:FAQ2.16 在实现x和y相加时, x+=y和x=x+y两种实现方式有区别吗?答:x+=y就是把x+y的值付给x没有区别。 阅读全文

posted @ 2010-01-17 01:38 2xd 阅读(324) 评论(0) 推荐(0)

第2章 Java编程基础——FAQ2.15 Java中有哪些运算符?优先级如何?
摘要:FAQ2.15 Java中有哪些运算符?优先级如何?答:Java语言中的表达式是由运算符与操作数组合而成的,所谓的运算符就是用来做运算的符号。 在Java中的运算符,基本上可分为算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、转型运算符等。 一、算术运算符 所谓算术运算符,也就是我们数学中学到的加、减、乘、除等运算。这些操作可以对几个不同类型的数字进行混合运算,为了保证操作的精度,系... 阅读全文

posted @ 2010-01-17 01:06 2xd 阅读(1819) 评论(0) 推荐(0)