【Java自学计划】教程文章相关的互联网学习教程文章

Java自学-接口与继承 内部类【代码】【图】

Java 内部类 内部类分为四种: 非静态内部类 静态内部类 匿名类 本地类 步骤 1 : 非静态内部类 非静态内部类 BattleScore “战斗成绩” 非静态内部类可以直接在一个类里面定义 比如: 战斗成绩只有在一个英雄对象存在的时候才有意义 所以实例化BattleScore 的时候,必须建立在一个存在的英雄的基础上 语法: new 外部类().new 内部类() 作为Hero的非静态内部类,是可以直接访问外部类的private实例属性name的 package charactor;pub...

Java自学-接口与继承 final【代码】【图】

Java的修饰符final final修饰类,方法,基本类型变量,引用的时候分别有不同的意思。 示例 1 : final修饰类 当Hero被修饰成final的时候,表示Hero不能够被继承 其子类会出现编译错误package charactor;public final class Hero extends Object {String name; //姓名float hp; //血量} 示例 2 : final修饰方法 Hero的useItem方法被修饰成final,那么该方法在ADHero中,不能够被重写package charactor;import property.Item;public cl...

Java自学-继承与接口 Object类【代码】【图】

Java中的超类 Object 步骤 1 : Object类是所有类的父类 声明一个类的时候,默认是继承了Object public class Hero extends Object package charactor;import property.Item;public class Hero extends Object {String name; //姓名float hp; //血量float armor; //护甲int moveSpeed; //移动速度public void useItem(Item i){System.out.println("hero use item");i.effect();} public Hero(){System.out.println("Hero的无参的构...

Java自学-接口与继承 super【代码】【图】

Java的super关键字 步骤 1 : 准备一个显式提供无参构造方法的父类 准备显式提供无参构造方法的父类 在实例化Hero对象的时候,其构造方法会打印 “Hero的构造方法 " package charactor;import property.Item;public class Hero {String name; //姓名float hp; //血量float armor; //护甲int moveSpeed; //移动速度public void useItem(Item i){System.out.println("hero use item");i.effect();}public Hero(){System.out.println("...

Java自学-接口与继承 隐藏【代码】

Java中的方法隐藏 与重写类似,方法的重写是子类覆盖父类的对象方法 隐藏,就是子类覆盖父类的类方法 步骤 1 : 父类 父类有一个类方法 :battleWin package charactor;public class Hero {public String name;protected float hp;//类方法,静态方法//通过类就可以直接调用public static void battleWin(){System.out.println("hero battle win");}} 步骤 2 : 子类隐藏父类的类方法 package charactor;public class ADHero extends...

Java自学-接口与继承 接口【代码】【图】

设计Java的接口 在设计LOL的时候,进攻类英雄有两种,一种是进行物理系攻击,一种是进行魔法系攻击 这时候,就可以使用接口来实现这个效果。 接口就像是一种约定,我们约定某些英雄是物理系英雄,那么他们就一定能够进行物理攻击。 步骤 1 : 物理攻击接口 创建一个接口 File->New->Interface AD ,声明一个方法 physicAttack 物理攻击,但是没有方法体,是一个“空”方法package charactor;public interface AD {//物理伤害public ...

Java自学-类和对象 类属性【代码】

Java的类属性和对象属性 当一个属性被static修饰的时候,就叫做类属性,又叫做静态属性 当一个属性被声明成类属性,那么所有的对象,都共享一个值 与对象属性对比: 不同对象的 对象属性 的值都可能不一样。 比如盖伦的hp 和 提莫的hp 是不一样的。 但是所有对象的类属性的值,都是一样的 步骤 1 : 类属性 类属性: 又叫做静态属性 对象属性: 又叫实例属性,非静态属性 如果一个属性声明成类属性,那么所有的对象,都共享这么一个...

Java自学-数组 Arrays【代码】【图】

java.util.Arrays类常用方法 Arrays是针对数组的工具类,可以进行 排序,查找,复制填充等功能。 大大提高了开发人员的工作效率。 步骤 1 : 数组复制 与使用System.arraycopy进行数组复制类似的, Arrays提供了一个copyOfRange方法进行数组复制。 不同的是System.arraycopy,需要事先准备好目标数组,并分配长度。 copyOfRange 只需要源数组就就可以了,通过返回值,就能够得到目标数组了。 除此之外,需要注意的是 copyOfRange 的...

Java自学-数组 二维数组【代码】【图】

Java 如何使用二维数组 这是一个一维数组, 里面的每一个元素,都是一个基本类型int int a[] =new int[]{1,2,3,4,5}; 这是一个二维数组,里面的每一个元素,都是一个一维数组 所以二维数组又叫数组的数组 int b[][] = new int[][]{{1,2,3},{4,5,6},{7,8,9}}; 步骤 1 : 初始化二维数组 public class HelloWorld {public static void main(String[] args) {//初始化二维数组,int[][] a = new int[2][3]; //有两个一维数组,每个一维数...

Java自学-面向对象 类和对象【代码】【图】

Java中的类和对象 引入面向对象的基本概念 假设,我们要设计一个LOL这样的游戏,使用面向对象的思想来设计,应该怎么做? 步骤 1 : 设计英雄这个类 LOL有很多英雄,比如盲僧,团战可以输,提莫必须死,盖伦,琴女 所有这些英雄,都有一些共同的状态 比如,他们都有名字,hp,护甲,移动速度等等 这样我们就可以设计一种东西,叫做类,代表英雄这样一种事物 类: 英雄(Hero) 状态: 名字, 血量,护甲,移动速度 注: 本例用到了3种数...

Java自学-面向对象 属性【代码】【图】

Java类的属性 一个英雄有姓名,血量,护甲等等状态 这些状态就叫做一个类的属性 步骤 1 : 属性的类型 属性的类型可以是基本类型,比如int整数,float 浮点数 也可以是类类型,比如String 字符串public class Hero {String name; //姓名float hp; //血量float armor; //护甲int moveSpeed; //移动速度} 步骤 2 : 属性名称 属性名称一般来说,都是小写 比如name 如果有多个单词组成,后面的单词的第一个字母大写 比如 moveSpeed 属性...

JAVA自学笔记,I/O 输入/输出流【图】

输入/输出流 Java语言定义了许多类专门负责各种方式的输入/输出,这些类都被放在java.io包中。其中,所有输入流类都是抽象类InputStream(字节输入流)或抽象类Reader(字符输入流)的子类。而所有输出流都是抽象类OutputStream(字节输入流)或抽象类Writer(字符输出流)的子类。 输入流 输入流抽象类包括两种,分别是InputStream字节输入流和Reader字符输入流,下面分别介绍。 InputStream InputStream类是字节输入流的抽象类,是所有字...

JAVA自学笔记,枚举【代码】【图】

JDK1.5中新增了枚举,枚举是一种数据类型,它是一系列具有名称的常量的集合。比如在数学中所学的集合:A{1,2,3},当使用这个集合时,只能使用集合中的1,2,3这三个元素,不是这三个元素的值就无法使用。Java中的枚举是同样的道理,比如在程序中定义了一个性别枚举,里面只有两个值:男,女。那么在使用该枚举时,只能使用男和女这两个值,其他的任何值都是无法使用的。 使用枚举类型设置常量 以往设置常量,通常将常量放置在接...

Java自学笔记(21):【IO】数据流,标准输入输出【代码】

DataInputStream和DataOutputStream 如何传送一个int ,double类型数据? DataInputStream :读取Java标准数据类型的输入流 DataOutputStream:写入Java标准数据类型的的输出流 代码演示package data;import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException;public class DataStreamDemo {public s...

佰落暑期java自学记录-8【代码】【图】

佰落暑期java自学记录-8 记录时间:2019-7-29 记录内容摘要: 1、二维数组 2、快速排序 3、数组查找、删除、插入 1、二维数组 二维数组的定义方式主要有两种 1、单独定义不初始化;采用new类来定义 double[][] name = new double[row][col];2、直接初始化 int[][] arr = {{2,5},{1},{3,2,4},{1,7,5,9}};二维数组可以理解为一维数组的嵌套,即arr[0]、arr[1]分别是一个一维数组,在调用具体元素时需要具体行和列; 遍历二维数组时需...