`
liuwei1981
  • 浏览: 772422 次
  • 性别: Icon_minigender_1
  • 来自: 太原
博客专栏
F8258633-f7e0-30b8-bd3a-a0836a5f4de5
Java编程Step-by...
浏览量:161295
社区版块
存档分类
最新评论
文章列表
在从子类继承父类的过程中,可能需要在子类中调用父类中的成员,如属性、方法或者构造器,这个时候,可以使用super关键字来完成。   super的作用是用于引用父类的成员,如属性、方法或者是构造器。 调用父类构造器    用于调用父类的构造器,是super的用法之一,它的基本格式是: super([arg_list]) 直接用super()加上父类构造器所需要的参数,就可以调用父类的构造器了。   如果父类中有多个构造器,系统将自动根据super()中的参数个数和参数类型来找出父类中相匹配的构造器。 我们来看下面这个例子,类“Dog”继承了父类“Animal”,并在它的构造器中 ...
在Java程序中,如果同一个类(或者父类子类之间)中如果有两个相同的方法(方法名相同、返回值相同、参数列表相同)是不行的,因为这样编译器无法将方法调用和特定的方法联系起来。但是,在一个类中,如果有多个方法具 ...
假如你在很短的时间内全速奔跑——田径运动中被称为“冲刺”——你将会使自己精疲力竭。为了跑马拉松,团队必须纪律严明,每天训练,保持一个可以持续的速度。在做软件项目时,我们也不想一次就弄得自己精疲力竭。我们需要保持一个稳定的工作进度。可持续发展的团队就像是在跑马拉松而不仅仅是在冲刺。   创建有用的产品并不是软件开发的终极目标。团队成员需要学习如何互相帮助、帮助他人认识自己真正的潜力、建立一个允许所有人突破自身极限的环境。   大多数团队对于这方面的认识还是一片空白。这就需要有人来积极填补这个空白。在大多数情况下,软件项目经理就是促成团队发展的最佳人选。我觉得项目经理的工作目标就是建立可持 ...
在Java编程语言中,有两个概念非常相近,很容易混淆。它们就是重写与重载。   这里先在类继承的话题上,继续来说说重写,也叫覆盖。   没有继承,就不可能有重写。这是子类对父类的一种特殊操作。这里先提一下,重载 ...
前面讲到了继承,通过继承,可以让子类拥有父类中已经实现的属性和方法,避免在整个软件体系中,出现重复的代码,提高软件的开发效率和可靠性。   但是有的时候,我们希望父类中的某些属性和方法,仅用于父类自己使用,对子类保密。   并且很多时候,当别的对象调用该类对象的时候,也希望这些调用操作是有限制,类的设计只保持部分方法接口公开。   这就需要在类定义的时候,进行访问控制。   在开始时其实已经说到了,通过将属性设置为private(私有的)的,可以限制对相应属性的访问。   在Java中,可以在类、类的属性以及类的方法前面加上一个修饰符(modifier),来对类进行一些访问上 ...
在一开始就提到了面向对象编程语言的三大特性:封装、继承和多态。   现在来说说继承。这个特性是基于重用的需求产生的。   面向对象程序设计的一个重要的特点就是类的重用。   这可以通过两种方法来实现:一种是将一个类的实例当作另一个类的属性。也可以使用类的继承来实现,通过关键字extends,可以使一个类继承另一个类,使这个类也具有被继承类的特点。   实现继承的类称为子类,而被继承的类称为父类,也称为超类。   类的继承是面向对象程序设计的一个重要特点。   另一种就是组合。实际上在软件设计开发应用中,组合的使用较之于继承更频繁,但是不专属于面向对象的特性罢了。   ...
1.多维数组的定义   Java中支持多维数组,也就是“数组的数组”。 多维数组的声明是通过每一维一组方括号的方式来实现的。 二维数组:int[][],double[][]等。三维数组:float[][][],String[][][]等。   2.多维数组的创建 当使用new 来创建多维数组时,不必指定每一维的大小,而只需要指定最左边的维的大小就可以了。如果你指定了其中的某一维的大小,那么所有处于这一维左边的各维的大小都需要指定。 下面是一些创建多维数组的例子:boolean[][] b = new boolean[10][3];int[][] a = new int[5][ ...
可以将一个数组变量拷贝给另一个数组变量,这个时候,这两个数组变量均指向同一个数组。通过任何一个数组变量进行操作,均会对另一个数组变量中的数组产生影响。   请看下面这个例子: public class ArrayCopy1 { public static void main(String[] args) {  int[] a = { 12, 3, 19, 2, 10, 13, 9 };  int[] b;  b = a;  System.out.println("Before Modifying:");  for (int i = 0; i < a.length; ...
可以通过数组名和数组索引来引用一个数组元素。   数组索引可以是一个整数或者一个整数表达式。   注意,数组的索引从0开始到数组长度减1,比如,数组长度为n,则索引的范围为0~(n-1)。 例如,由一个名为arr的长度为10的数组,如果需要取得其中第5个元素的值,只需要通过arr[4]的方式就可以取得了。 在使用数组名加数组索引的方式来取得数组的元素时,注意元素的索引必须小于数组的长度,也就是只能在0~(n-1)之间,否则会引起数组越界的异常: java.lang.ArrayIndexOutOfBoundsException。 可以使用数组的一个属性length来获得数组的长度。
在创建成功一个数组后,它将完成如下三个动作:创建一个数组对象;在内存中给数组分配存储空间;给数组的元素初始化一个相应的数据类型的默认值。比如,将int类型的数组各个元素初始化成0,引用类型是null等。 public class ArrayDf { public static void main(String[] args) {  int[] intArray;  intArray = new int[10];  System.out.println("第一个元素默认初始化值是:" + intArray[0]); }} 在这个程序中,首先声明了一个int类型的数组,然后, ...
数组是编程语言中非常常见的一种数据结构,它用来存储一组相同数据类型数据。可以通过整型索引访问数组中的每一个值。在一个数组中,它的类型是唯一的。也就是说,在一个数组里面,只能用于存储一种数据类型的数据而 ...
使用break语句可以终止switch语句和终止循环的子语句块,甚至是普通的程序块。关于如何终止switch语句,前面已经说过。这里主要说明如何来控制循环语句的执行。   1.break语句   在循环中,经常的,我们需要在某种条件出现时,强行终止循环的运行,而不是等到循环的判断条件为false时,这个时候,可以通过break来完成这个功能。 下面来看一个break的例子: int sum1 = 0,n=10; for (int i=1;i<=n;i++){  sum1=sum1+i;  if(i%2==0)break; } 这个例子中,如果i能够被2整除,就跳出这个for循环 ...
do…while循环语句的格式如下:[init_expr]do{   body_statement;  [alter_expr;]}while( test_expr); do…while循环类似于while循环,在while后面也得跟一个boolean类型的表达式。do…while循环首先执行里面的代码段,然后再根据test_expr判断是否为true,如果为true,则返回到do语句来执行,否则,退出整个循环。   因为do…while循环是先运行里面的代码块,然后再判断条件,所以,do…while循环至少会执行一次,这是do…while循环和while、for 循环最大的区别所在。 ...
循环语句的功能是在循环条件满足的情况下,反复执行一段代码,直到不再满足循环条件为止。   这个类型的工作恐怕是现在计算机最适合去做的事情之一了。无论哪个人在勤恳,重复做同样一件事情总是会新生倦怠的,这 ...
在Java中,能够进行分支控制的语句,除了if以外,还有switch。   一个switch语句由一个控制表达式和一个由case标记描述的语句块组成。   和if不同,switch后面的控制表达式求出的值应该是整型而不是boolean类型,这点在初学时要尤为注意。从控制表达式的数据类型可以看出,if语句应用范围应该更为广泛常见,因为大部分的条件分值控制都是使用真假布尔运算来判断的,这在现实世界中也极为常见,比如前面的例子,今天的计划安排,是由天气情况来决定的,下雨,不下雨,很显然就是下雨情况的真假布尔判断。   可以这么说,switch能做的事情,if完全可以做到,你在写Java代码 ...
Global site tag (gtag.js) - Google Analytics