02 2020 档案

摘要:内部类:如果一个事物,内部包含另外一个事物,那么这就是一个类 内部包含另一个类 例如:身体和心脏的关系,汽车和发动机的关系 分类: 1.成员内部类: 2.局部内部类(包含匿名内部类) 1.成员内部类:定义在外部类中的 格式: 修饰符 class 外部类名称{ 修饰符 class 内部类名称{} } 阅读全文
posted @ 2020-02-29 18:32 |超人不会飞| 阅读(211) 评论(0) 推荐(0)
摘要:final 关键字:代表最终、不可改变的。 常见四种用法: 1.可以修饰一个类 2.可以修饰一个方法 3.可以修饰一个局部变量 4.可以修饰一个成员变量 1.修饰类时:格式: public final class 类名称 {} 含义:当前这个类不能有任何子类 当然,final 类所有成员方法无法重写 阅读全文
posted @ 2020-02-29 01:18 |超人不会飞| 阅读(252) 评论(0) 推荐(0)
摘要:1.对象的上转型,就是多态的一种写法 格式:父类名称 对象名 = new 子类名称(); Animal animal = new Cat(); 含义:右侧创建一个子类对象,把它当作父类来使用 向上转型一定是安全的,从小范围到大范围; 猫是动物,动物不一定是猫 类似于:double num = 100 阅读全文
posted @ 2020-02-27 20:17 |超人不会飞| 阅读(408) 评论(0) 推荐(0)
摘要:继承 extends 和 接口的 implements 是多态的基础 多态在代码中的体现: 格式: 父类名称 对象名 = new 子类名称(); 接口名称 对象名 = new 实现类名称(); 多态中的成员变量和成员方法的访问规则(和继承规则一样) 1.成员变量:看到等号左边是谁,就优先访问谁 (编 阅读全文
posted @ 2020-02-27 19:45 |超人不会飞| 阅读(84) 评论(0) 推荐(0)
摘要:继承中成员变量的访问特点:(重名的情况下) 1.直接通过子类对象访问成员变量: 等号左边是谁,就优先用谁,没有则向上找 2.间接通过成员方法访问成员变量: 该方法属于谁,就优先用谁,没有则向上找 继承中成员方法的访问特点: 创建的对象是谁,new 的是谁,就优先用谁 阅读全文
posted @ 2020-02-27 19:29 |超人不会飞| 阅读(353) 评论(0) 推荐(0)
摘要:接口就是多个类的公共规范 接口就是一种引用数据类型,最重要的内容就是:抽象方法 格式: public interface 接口名称{ 接口内容 } 编译生成的字节码文件还是 .class 接口可以包含的内容: 1.常量 2.抽象方法 (Java7) 3.默认方法 4.静态方法 (Java8) 5.私 阅读全文
posted @ 2020-02-27 15:55 |超人不会飞| 阅读(698) 评论(0) 推荐(0)
摘要:抽象方法:父类当中的方法,不确定如何进行 {} 方法体实现,那么这就是一个抽象方法 例如:动物类:叫{} // 叫方法就是抽象方法,不确定以何种声音叫 格式: 抽象方法:加上 abstract 关键字,然后去掉大括号,直接分号结束; 抽象类:抽象方法所在的类,必须是抽象类, 在 class 之前加上 阅读全文
posted @ 2020-02-26 17:03 |超人不会飞| 阅读(1076) 评论(0) 推荐(0)
摘要:super 关键字的三种用法: 1.在子类成员方法中,访问父类成员变量 2.在子类成员方法中,访问父类成员方法 3.在子类构造方法中,访问父类构造方法 this 关键字的三种用法: 1.在本类的成员方法中,访问本类的成员变量 2.在本类的成员方法中,访问本类的另一个成员方法 3.在本类的构造方法中, 阅读全文
posted @ 2020-02-26 16:38 |超人不会飞| 阅读(122) 评论(0) 推荐(0)
摘要:继承关系中的父子类构造方法的特点: 1.子类构造方法当中有一个默认隐含的 “super()” 调用,所以一定先调用的父类构造方法,后执行的子类构造方法 2.可通过 super 关键字调用父类重载构造(默认的是无参构造) super(100) 3.super 的父类构造调用,必须是子类构造方法的第一个 阅读全文
posted @ 2020-02-26 16:25 |超人不会飞| 阅读(224) 评论(0) 推荐(0)
摘要:重写(Override):在继承关系中,方法名称一样,参数列表也一样 与重载(Overload)的区别: 重写:方法名称一样,参数列表也一样 //覆盖,覆写 重载:方法名称一样,参数列表不一样 重写特点:创建的是子类对象,则优先使用子类方法 重写注意事项: 1.必须保证父子类方法名称一样,参数列表也 阅读全文
posted @ 2020-02-26 16:15 |超人不会飞| 阅读(178) 评论(0) 推荐(0)
摘要:继承主要解决的问题:共性抽取 Java中只有单继承,只能有一个父亲 继承是多态的前提,没有继承就没有多态 继承关系的特点: 1.子类拥有父类的“内容” 2.子类也可以拥有自己的专属内容 父类,基类 子类,派生类 父类格式一个普通类的定义 public class 父类名称 {} 子类格式: pibl 阅读全文
posted @ 2020-02-26 16:04 |超人不会飞| 阅读(71) 评论(0) 推荐(0)
摘要:面向对象三大特征:封装,继承,多态 封装就是将一些细节信息隐藏起来,对于外界不可见 封装在 Java 中的体现: 1.方法就是一种封装 2.关键字 private 也是一种封装 阅读全文
posted @ 2020-02-26 15:52 |超人不会飞| 阅读(68) 评论(0) 推荐(0)
摘要:java.util.Arrays是一个与数组相关的工具类,里面提供了大量静态方法,用来实现数组的常见操作 1.public static String toString(数组):将参数数组变成字符串(默认格式 [元素1, 元素2, 元素3, ...] ) int[] array = {1, 2, 3 阅读全文
posted @ 2020-02-25 19:17 |超人不会飞| 阅读(101) 评论(0) 推荐(0)
摘要:静态代码块格式: piblic class 类名称 { static { //静态代码块的内容 } } 特点:当第一次用到本类时,静态代码块执行唯一的一次 静态内容总是优先于非静态内容,所以静态代码块比构造方法先执行 典型用途: 用来一次性堆静态成员变量赋值 阅读全文
posted @ 2020-02-25 18:13 |超人不会飞| 阅读(178) 评论(0) 推荐(0)
摘要:static 关键字的内容,不属于对象自己,而是属于类 凡是类的对象,都共享同一份数据 static 修饰成员方法,那么它就成为了静态方法。静态方法不属于对象,而是属于类 对于static修饰的内容(静态方法,静态变量)推荐用类名来调用 注意事项: 1.静态方法不能直接访问非静态成员: 原因:因为在 阅读全文
posted @ 2020-02-25 18:08 |超人不会飞| 阅读(132) 评论(0) 推荐(0)
摘要:java.lang.String类代表字符串 程序中所有双引号字符串,都是String对象(就算没有new,也是对象) 字符串特点: 1.字符串内容永不改变 2.由于字符串内容不改变,所以字符串可以共享使用(常量池) 3.字符串效果上相当于char[]字符数组,但是底层原理是byte[]字节数组 字 阅读全文
posted @ 2020-02-24 19:17 |超人不会飞| 阅读(149) 评论(0) 推荐(0)
摘要:普通数组的长度是无法改变的。 但是 ArrayList 集合的长度是可以发生变化的 对于 ArrayList <E> 来说,尖括号里面 <E> 代表泛型。 泛型:装在集合里面的所有元素,都是统一的什么类型 泛型只能是引用类型,不能是基本类型 注意事项: 对于 ArrayList 集合来说,直接打印的 阅读全文
posted @ 2020-02-24 18:10 |超人不会飞| 阅读(115) 评论(0) 推荐(0)
摘要:Random类:用来生成随机数字 1.导包: import java.util.Random; 2.创建: Random r = new Random(); 3.使用: 获取一个随机的int数字(范围是 int 所有范围,有正负两种):int num = nextInt(); 获取一个随机的int数 阅读全文
posted @ 2020-02-22 16:56 |超人不会飞| 阅读(82) 评论(0) 推荐(0)
摘要:创建对象的基本格式: 类名称 对象名 = new 类名称(); 匿名对象就是只有右边的对象,没有左边的名字和赋值运算符 new 类名称(); 注意事项: 匿名对象只能使用唯一的一次,下次使用,不得不再创建一个新对象 使用建议: 如果确定一个对象只需要使用一次,就可以用匿名对象 几种使用情况: 1.键 阅读全文
posted @ 2020-02-22 16:33 |超人不会飞| 阅读(110) 评论(0) 推荐(0)
摘要:Scanner类功能:可以实现键盘输入数据,到程序中 引用类型一般使用步骤: 1.导包 Import 包路径 . 类名称 如果使用的目标类,和当前类在同一个包下,则可以省略不写导包语句 只有 java.lang 包下的内容不需要导包,其他的包都需要 import 语句 2.创建 类名称 对象名 = 阅读全文
posted @ 2020-02-21 19:07 |超人不会飞| 阅读(111) 评论(0) 推荐(0)
摘要:一个标准类通常包括四个部分: 1.所有成员变量都要用 private 关键字修饰 2.为每一个成员变量编写一对 Getter/Setter 方法 3.编写一个无参数的构造方法 4.编写一个全参数的构造方法 这样的标准类也叫 Java Bean 快捷键 Alt + Insert 阅读全文
posted @ 2020-02-21 18:37 |超人不会飞| 阅读(315) 评论(0) 推荐(0)
摘要:构造方法: 专门用来创建对象的方法,当我们通过关键字 new 来创建对象时,其实就是调用构造方法 格式: public 类名称(参数类型 参数名称){ 方法体 } 注意事项: 1.构造方法和类名称一模一样,完全一样 2.构造方法不需要返回值,也不需要 void 3.构造方法不能 return 一个具 阅读全文
posted @ 2020-02-21 18:33 |超人不会飞| 阅读(130) 评论(0) 推荐(0)
摘要:成员变量与局部变量的差异: 1.定义的位置不一样 成员变量:在方法的外部,直接写在类中 局部变量:在方法的内部 2.作用的范围不一样 成员变量:整个类都可以使用 局部变量:只有方法作用域内可以使用,出了作用域就没了 3.默认值不一样 成员变量:如果没有赋值,会有一个默认值,规则和数组一样 局部变量: 阅读全文
posted @ 2020-02-21 18:23 |超人不会飞| 阅读(166) 评论(0) 推荐(0)
摘要:类的定义跳过 通常情况下,一个类并不能直接使用,需要根据类创建对象才有意义 1.导包:指出需要的类,在什么位置 import 包名称 . 类名称 import java.lang 2.创建格式 类名称 对象名 = new 类名称 ( ); Student stu = new Student(); 3 阅读全文
posted @ 2020-02-20 20:22 |超人不会飞| 阅读(218) 评论(0) 推荐(0)
摘要:Java的内存需要划分成为5个部分: 1.栈(Stack):存放的都是方法中的局部变量。 局部变量:方法的参数,或者是方法 { } 内部的变量。 作用域:一旦超过作用域,立刻从栈内存当中消失。 2.堆(Heap):凡是new出来的东西,都在堆里面。 堆内存中的东西都有一个地址值:16进制 堆内存里面 阅读全文
posted @ 2020-02-20 20:02 |超人不会飞| 阅读(213) 评论(0) 推荐(0)
摘要:数组:一种容器,可以同时存放多个数据值 数组的特点: 1.数组是一种引用数据类型 2.数组中的多个数据,类型是一样的 3.数组的长度在程序运行期间不可改变 数组的初始化:在内存中创建一个数组,并向其中赋予一些默认值 两种常见初始化方式: 1.动态初始化(指定长度) 数据类型 [ ] 数组名称 = n 阅读全文
posted @ 2020-02-20 19:22 |超人不会飞| 阅读(86) 评论(0) 推荐(0)
摘要:方法重载(Overload):多个方法名称一样,但参数列表不一样。 (一个方法名称,实现类似的多个功能) 方法重载与下列因素有关: 1. 参数个数不同 public static int sum(int a, int b) public static int sum(int a, int b, in 阅读全文
posted @ 2020-02-20 16:35 |超人不会飞| 阅读(202) 评论(0) 推荐(0)
摘要:1. 算术运算符有加减乘除、取模、自增自减:+、-、*、/、%、++、-- 当有两个不同数据类型进行运算时,结果会是数据类型范围大的那种。例如 int + double 会变成 double + double 最后变成 double 2. 加号的常见用法 “+”: a. 对于数值运算,就是加法 b. 阅读全文
posted @ 2020-02-19 19:00 |超人不会飞| 阅读(171) 评论(0) 推荐(0)
摘要:1. 算术运算符有加减乘除、取模、自增自减:+、-、*、/、%、++、-- 当有两个不同数据类型进行运算时,结果会是数据类型范围大的那种。例如 int + double 会变成 double + double 最后变成 double 2. 加号的常见用法 “+”: a. 对于数值运算,就是加法 b. 阅读全文
posted @ 2020-02-19 18:36 |超人不会飞| 阅读(990) 评论(0) 推荐(0)
摘要:数据类型不一样时,将会发生数据类型转换 1. 自动类型转换(隐式): 特点:代码不需要进行特殊处理,自动完成。 规则:数据范围从小到大。 2. 强制类型转换(显式): 特点:代码需要进行特殊的格式处理,不能自动完成。 格式:范围小的类型 范围小的变量名 = (范围小的类型)原本范围大的数据 例如:i 阅读全文
posted @ 2020-02-19 18:05 |超人不会飞| 阅读(129) 评论(0) 推荐(0)
摘要:变量:程序运行期间,内容可以发生改变的量 注意事项: 1. 定义了float和long类型,字母后缀不要丢掉。 2. 变量赋值时,右侧数值不能超过左侧类型。 3. 没有赋值的变量不可以使用。 4. 变量使用不可以超过作用域的范围。 5. 可以同时创建多个变量,但是一般不这么写 作用域:从变量定义的一 阅读全文
posted @ 2020-02-19 17:39 |超人不会飞| 阅读(94) 评论(0) 推荐(0)
摘要:Java中的数据类型包括两种:基本数据类型、引用数据类型 1. 基本数据类型: 整数型:byte、short、int、long 内存占用:1、2、4、8个字节 浮点型:float、double 内存占用:4、8个字节 字符型:char 内存占用:2个字节 布尔型:boolean 内存占用:1个字节 阅读全文
posted @ 2020-02-19 17:19 |超人不会飞| 阅读(110) 评论(0) 推荐(0)
摘要:常量:在程序运行期间,固定不变的量 常量的类型: 1. 字符串常量:双引号括起来的。"abc"、"123" 2. 整数常量:直接写上的数字,没有小数点。 100、2 3. 浮点数常量:直接写上的数字,有小数点。 2.5、-3.14 4. 字符常量:单引号括起来的单个字符。'a'、'b' 5. 布尔常 阅读全文
posted @ 2020-02-19 17:06 |超人不会飞| 阅读(179) 评论(0) 推荐(0)
摘要:JVM (Java Virtual Machine) : Java虚拟机,运行所有Java程序的假象计算机,是Java程序的运行环境,跨平台性由JVM实现。 JRE (Java Runtime Environment) : Java程序的运行时环境,包含JVM和运行时所需的核心类库。 JDK (Ja 阅读全文
posted @ 2020-02-19 16:57 |超人不会飞| 阅读(76) 评论(0) 推荐(0)