【java面向对象练习题一】教程文章相关的互联网学习教程文章

java面向对象-巧用LOL讲解【代码】【图】

引入面向对象的基本概念 (仅仅是引入) 相信你肯定玩过DOTA或者LOL,没玩过,也一定听说过身边有很多的朋友在玩这款游戏的 假设,我们要设计一个LOL这样的游戏,使用面向对象的思想来设计,应该怎么做? 步骤 1 : 设计英雄这个类 LOL有很多英雄,比如盲僧,团战可以输,提莫必须死,盖伦,琴女所有这些英雄,都有一些共同的状态 比如,他们都有名字,hp,护甲,移动速度等等 这样我们就可以设计一种东西,叫做类,代表英雄这样一种...

面向对象编程(含java练习题)【代码】【图】

注:截图和题目均来自李刚老师的《疯狂Java讲义》 一 类及其成员定义   1.定义类[修饰符] class 类名 {零个到多个构造器定义...零个到多个成员变量...零个到多个方法 }   修饰符可以是public、final、abstract,也可以省略。其中final和abstract只能出现一个。2.定义成员变量[修饰符] 类型 成员变量名 [=默认值];  修饰符可以省略,也可以是public、private、protected、static、final,其中public、private...

第2课第3节_Java面向对象编程_继承性_P【代码】【图】

面向对象程序的三大特性之继承性:继承性的主要作用就是复用代码.继承性也有一定的限制,如图一1、我们在第2课第2节_Java面向对象编程_封装性_P 中定义了persion.我在这代码基础上定义一个学习类,并继承persion类。class Persion{private int age;public void setAge(int age){if (age < 0 || age > 200)age = 0;elsethis.age = age;}public int getAge(){return age;} }class Student extends Persion{}public class Ext{public ...

Java面向对象--关键字(package、import、this)

Java关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字,还有特别意义的变量。Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名和参数。本篇博客介绍package、import、this关键字的具体用法。目录: ? package关键字 ? import关键字? this关键字? package关键字 package关键字概述 package语句作为Java源文件的第一条语句,指...

java面向对象21_接口(interface)【代码】

1.接口的概述 当抽象类中的方法都是抽象方法的时候,该抽象类可以用另外一种形式来定义和表示,那就是接口interface。接口和数组、类、抽象类是同一个层次的概念。 接口就是比“抽象类”还“抽象”的“抽象类”,可以更加规范的对子类进行约束。全面地专业地实现了:规范和具体实现的分离。 抽象类还提供某些具体实现,接口不提供任何实现,接口中所有方法都是抽象方法。接口是完全面向规范的,规定了一批类具有的公共方法规范。 从...

Java的开发—面向对象的7大原则之依赖倒置原则(一)

一.定义: 依赖倒置原则(Dependecy Inversion Principle) 原文为: High level modules shouldnot depend upon low level modules.Both should depend upon abstractions.Abstractions should not depend upon details. Details should depend upon abstractions 三层定义: 1.高层模块不应该依赖低层模块。两者都应该依赖于抽象 2.抽象不应该依赖于细节 3.细节应该依赖抽象 三层定义的理解: 1.高层模块:调用方;底层模块:被调...

Java面向对象--构造器(构造方法)

构造器就是和类名相同但无返回类型的方法。用于当前或某一对象的实例化,并将当前或某一对象返回。要得到一个类的实例时,往往是要运行其构造函数的。本篇博客介绍Java面向对象中的构造器(构造方法的用法)。构造器的概述 ? 构造器是Java学习中很重要的一个概念,构造器可以提供许多特殊的方法,构造器作为一种方法,负责类中成员变量(域)的初始化。实例构造器分为缺省构造器和非缺省构造器。 修饰符 类名(参数列表){初始化语句...

Java程序员应当知道的10个面向对象设计原则

Java程序员应当知道的10个面向对象设计原则 面向对象设计原则是OOPS编程的核心, 但我见过的大多数Java程序员热心于像Singleton (单例) 、 Decorator(装饰器)、Observer(观察者) 等设计模式,而没有把足够多的注意力放在学习面向对象的分析和设计上面。学习面向对象编程像“抽象”、“封装”、“多态”、“继承” 等基础知识是重要的,但同时为了创建简洁、模块化的设计,了解这些设计原则也同等重要。我经常看到不同经验水平的jav...

Java面向对象编程 -6.7【代码】

数组相关类库数组排序:java.util.Arrays.sort(数组名称) 数组拷贝(把方法做了一些变形):System.arraycopy(源数组,源数组开始点,目标数组,目标数组开始点,拷贝长度)这些操作的支持是系统本身提供的,即:你都是可以在开发中使用的操作。 class aUtils{public static void Sort(int [] A,int Aindex,int [] B,int Bindex,int len) {for(int i=0;i<len;i++) {B[Bindex++] = A[Aindex++];}} }public class sag {public static void...

Java学习笔记(十三)面向对象---异常【代码】

概述 对异常的理解 程序在运行过程中出现不正常情况。是对问题的描述,将问题进行对象的封装。 异常的由来 问题也是现实生活中一个具体的事物,也可以通过Java的类的形式进行描述,并封装成对象。 对于问题的划分 一种是严重的问题,一种是非严重的问题。对于严重的:Java通过Error类进行描述。 对于Error一般不编写针对性的代码对其进行处理。 对于非严重的:Java通过Exception类进行描述。 对于Exception可以使用针对性的处理方式...

Java面向对象--属性和方法【代码】【图】

面向对象是相对于面向过程而言的,是软件开发方法。面向对象把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统设计,更贴近事物的自然运行模式。本篇博客介绍Java面向对象的类和对象。目录: ? 属性(field)/变量概述 ? 成员变量与局部变量 ? 方法(method) ? 方法的详细使用 ? 方法的重载(overload)? 可变个数的形参? 方法参数的值传递机制? 递归(recursion)属性(field)/变量 语法格式 ? 修饰符 数据型 类型 属...

Java面向对象编程 -6.6【代码】【图】

数组倒序 做法一:定义一个新的数组而后按照逆序的方式保存public static void main(String[] args) {int arr[] = new int[] {1,2,3,4,5,6,7};int arr2[] = new int[arr.length];int foot = arr.length -1;//数组2的角标for(int i=0;i<arr.length;i++) {arr2[foot--] = arr[i];//先用foot值 再减减}arr = arr2;System.out.println(Arrays.toString(arr));} 进行内存分析这个逆序是以产生垃圾为代价的 这样的逆序是不好的 做法二:在...

Java的开发—面向对象的7大原则之开闭原则(一)【代码】【图】

开闭原则(Open Close Principle) 一、定义: 软件中的(类、模块、函数等等)应该对于扩展是开放的,对于修改时关闭的。意味着一个实体允许在不改变它的源代码的前提变更它的行为 这里的软件包含一下几个部分: 1.项目中划分的模块 2.类与接口 3.方法 二、作用 使软件具有一定的适应性和灵活性的同时具备稳定性和延续性 1.对软件测试的影响 遵循开闭原则,只需要对扩展的代码进行测试,原有的测试 代码任然能够运行 2.提高代码复...

Java基础--面向对象_方法调用时参数的传递【代码】【图】

传递基本数据类型 public class Test {public static void m1(int i){i++;System.out.println(i);//11}public static void main(String[] args){int i=10;m1(i);System.out.println(i);//10} }main和m1中的i都是局部变量,只在该方法内有效,main只是把10传递给了m1方法,m1中的局部变量i改变和main中的i无关传递引用数据类型 public class Test {public static void m1(Animal a){a.age++;System.out.println(a.age);//11}public...

Java面向对象编程 -6.3【图】

foreach迭代输出 对于数组而言,一般都会使用for循环进行输出,但是在使用传统for循环的时候往往采用下标的形式进行数组元素的访问。 但是在jdk1.5之后为了减轻下标对数组的影响(如果数组下标处理不当,会出现数组越界异常)参考.NET引入了增强型for循环(foreach) 利用foreach的语法结构可以直接自动获取数组中的每一个元素 避免下标访问。 for (数据类型 变量:数组|集合){} 最大的特点在于可以自动将数组中的每一个元素的内容取...