Java基础学习总结
文章平均质量分 94
xinlianluohan
本博客都是为了方便自己复习
展开
-
关于嵌套类与外围类的详细解释
嵌套类与外围类 http://bbs.csdn.net/topics/390308902?page=1#post-393151833 总结来自:http://xingfinal.blog.163.com/blog/static/9792456820104875055927/ 这里讲了访问的控制。 其实嵌套类和外围类基本是两个互不相干的类。但是有些访问还是要注意的。转载 2017-11-30 14:18:17 · 1634 阅读 · 0 评论 -
java基础学习总结(十六)——static关键字
一、static关键字 原来一个类里面的成员变量,每new一个对象,这个对象就有一份自己的成员变量,因为这些成员变量都不是静态成员变量。对于static成员变量来说,这个成员变量只有一份,而且这一份是这个类所有的对象共享。 1.1.静态成员变量与非静态成员变量的区别 以下面的例子为例说明 public class Cat { /** * 静态成员变量 */ p...转载 2018-08-16 14:20:40 · 109 阅读 · 0 评论 -
java基础学习总结(十七)——哈希编码
一、哈希编码 现在是站在JAVA虚拟机的角度来看内存里面的布局,站在JAVA虚拟机的角度,在内存里面有好多好多个对象,这里用椭圆来代表一个个对象。一个程序运行起来的时候,可能会有很多个对象在内存里面分配,那么对于JAVA虚拟机来说,它运行的时候需要找到这些对象的地址,这些对象的地址怎么找呢?JAVA虚拟机会用一张表记录每一个对象在什么位置上,而这张表一般是用哈希编码来记录,每一个对象...转载 2018-08-16 16:12:58 · 126 阅读 · 0 评论 -
java基础学习总结(十八)——equals方法
一、equals方法介绍 1.1.通过下面的例子掌握equals的用法 package me.gorden.equals; public class TestEquals { public static void main(String[] args) { /** * 这里使用构造方法Cat()在堆内存里面new出了两只猫, 这两只猫的color,weight,height...转载 2018-08-16 16:36:58 · 196 阅读 · 0 评论 -
java基础学习总结(十九)——this关键字
一、this关键字 this是一个引用,它指向自身的这个对象。 看内存分析图: 假设我们在堆内存new了一个对象,在这个对象里面你想象着他有一个引用this,this指向这个对象自己,所以这就是this,这个new出来的对象名字是什么,我们不知道,不知道也没关系,因为这并不影响这个对象在内存里面的存在,这个对象只要在内存中存在,他就一定有一个引用this。 看下面的例子分析...转载 2018-08-16 16:46:39 · 188 阅读 · 0 评论 -
java基础学习总结(二十)——Object类
一、Object类介绍 Object类在JAVA里面是一个比较特殊的类,JAVA只支持单继承,子类只能从一个父类来继承,如果父类又是从另外一个父类继承过来,那他也只能有一个父类,父类再有父类,那也只能有一个,JAVA为了组织这个类组织得比较方便,它提供了一个最根上的类,相当于所有的类都是从这个类继承,这个类就叫Object。所以Object类是所有JAVA类的根基类,是所有JAVA类的老...转载 2018-08-16 16:52:55 · 165 阅读 · 0 评论 -
java基础学习总结(二十一)——super关键字
一、super关键字 在JAVA类中使用super来引用父类的成分,用this来引用当前对象,如果一个类从另外一个类继承,我们new这个子类的实例对象的时候,这个子类对象里面会有一个父类对象。怎么去引用里面的父类对象呢?使用super来引用,this指的是当前对象的引用,super是当前对象里面的父对象的引用。 1.1.super关键字测试 /** * 父类 * * @...转载 2018-08-16 17:00:04 · 160 阅读 · 0 评论 -
java基础学习总结(二十二)——java读取properties文件总结
一、java读取properties文件总结 在java项目中,操作properties文件是经常要做的,因为很多的配置信息都会写在properties文件中,这里主要是总结使用getResourceAsStream方法和InputStream流去读取properties文件,使用getResourceAsStream方法去读取properties文件时需要特别注意properties文件路...转载 2018-08-16 17:04:20 · 173 阅读 · 0 评论 -
java基础学习总结(二十三)——面向对象2
一.JAVA类的定义 JAVA里面有class关键字定义一个类,后面加上自定义的类名即可。如这里定义的person类,使用class person定义了一个person类,然后在person这个类的类体里面定义person这个类应该具有的成员变量(即属性)和方法,如这里定义的int id和int age这个两个成员变量,或者叫属性,这个id表示人的身份证号码,人应该具有这个属性...转载 2018-08-16 17:24:51 · 151 阅读 · 0 评论 -
java基础学习总结(二十四)——多态(动态绑定)
一、面向对象最核心的机制——动态绑定,也叫多态 1.1.通过下面的例子理解动态绑定,即多态 class Animal { /** * 声明一个私有的成员变量name。 */ private String name; /** * 在Animal类自定义的构造方法 * * @param name */ Animal(String name) { t...转载 2018-08-16 17:33:23 · 165 阅读 · 0 评论 -
java基础学习总结(二十五)——对象转型
一、对象转型介绍 对象转型分为两种:一种叫向上转型(父类对象的引用或者叫基类对象的引用指向子类对象,这就是向上转型),另一种叫向下转型。转型的意思是:如把float类型转成int类型,把double类型转成float类型,把long类型转成int类型,这些都叫转型。把一种形式转成另外一种形式就叫转型。除了基础数据类型的转型之外(基础数据类型的转型:大的可以转成小的,小的也可以转成大的。)...转载 2018-08-17 09:02:24 · 104 阅读 · 0 评论 -
java基础学习总结(二十六)——抽象类
一、抽象类介绍 下面通过一下的小程序深入理解抽象类 因此在类Animal里面只需要定义这个enjoy()方法就可以了,使用abstract关键字把enjoy()方法定义成一个抽象方法,定义如下:public abstract void enjoy(); 从某种意义上来说,抽象方法就是被用来重写的,所以在父类声明的抽象方法一定要在子类里面重写。如果真的不想在子类里面重写这...转载 2018-08-17 09:30:40 · 161 阅读 · 0 评论 -
java基础学习总结(二十七)——接口
一、接口的概念 JAVA是只支持单继承的,但现实之中存在多重继承这种现象,如“金丝猴是一种动物”,金丝猴从动物这个类继承,同时“金丝猴是一种值钱的东西”,金丝猴从“值钱的东西”这个类继承,同时“金丝猴是一种应该受到保护的东西”,金丝猴从“应该受到保护的东西”这个类继承。这样金丝猴可以同时从 “动物类”、“值钱的东西类”、“应该受到保护的东西” 这三个类继承,但由于JAVA只支持单继承...转载 2018-08-17 10:25:11 · 280 阅读 · 0 评论 -
Java基础学习总结(二十八)——Java对象的序列化和反序列化
一、序列化和反序列化的概念 把对象转换为字节序列的过程称为对象的序列化。 把字节序列恢复为对象的过程称为对象的反序列化。 对象的序列化主要有两种用途: 1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中; 2) 在网络上传送对象的字节序列。 在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存。比如最常见的是Web服务器中的...转载 2018-08-17 11:55:17 · 181 阅读 · 0 评论 -
java基础学习总结(十五)——方法的重载(overload)
一、方法的重载 方法名一样,但参数不一样,这就是重载(overload)。 所谓的参数不一样,主要有两点:第一是参数的个数不一样,第二是参数的类型不一样。只要这两方面有其中的一方面不一样就可以构成方法的重载了。 package me.gorden.overload; public class TestOverLoad { void max(int a, int b)...转载 2018-08-16 11:46:25 · 212 阅读 · 0 评论 -
java基础学习总结(十四)——IO流
一、JAVA流式输入/输出原理 流是用来读写数据的,java有一个类叫File,它封装的是文件的文件名,只是内存里面的一个对象,真正的文件是在硬盘上的一块空间,在这个文件里面存放着各种各样的数据,我们想读文件里面的数据怎么办呢?是通过一个流的方式来读,咱们要想从程序读数据,对于计算机来说,无论读什么类型的数据都是以010101101010这样的形式读取的。怎么把文件里面的数据读出来呢...转载 2018-08-14 14:57:37 · 246 阅读 · 0 评论 -
java基础学习总结(十三)——线程(二)
一、线程的优先级别 线程优先级别的使用范例: 1 package cn.galc.test; 2 3 public class TestThread6 { 4 public static void main(String args[]) { 5 MyThread4 t4 = new MyThread4(); 6 MyThrea...转载 2018-08-14 11:37:30 · 181 阅读 · 0 评论 -
windows下使用批处理脚本实现多个版本的JDK切换
一.JDK版本切换批处理脚本 我们平时在window上做开发的时候,可能需要同时开发两个甚至多个项目,有时不同的项目对JDK的版本要求有区别,这时候我们可能会在一台电脑上安装多个版本的JDK,如下图所示: 当我们想要切换使用的JDK版本时,我们可以有两种做法: 1.手动去修改JAVA_HOME环境变量,将变量的值指向对应的JDK版本的安装目录即可. 2.通过编写批处理脚本来根据选择的J...转载 2018-06-06 14:32:54 · 181 阅读 · 0 评论 -
java基础学习总结(一)——java环境变量配置
前言 学习java的第一步就要搭建java的学习环境,首先是要安装JDK,JDK安装好之后,还需要在电脑上配置"JAVA_HOME”、"path”、"classpath"这三个环境变量才能够把java的开发环境搭建好。在没安装过jdk的环境下,path环境变量是系统变量,本来存在的,而JAVA_HOME和classpath是不存在的。 一、配置JAVA_HOME变量 操作步骤(win...转载 2018-07-24 23:17:25 · 216 阅读 · 0 评论 -
java基础学习总结(二)——开篇(转载于孤傲苍狼博主的心得体会)
由于孤傲苍狼博主16年后,就没有更新博客了。其中有些文章看不了,挺可惜的。为了避免后续文章也会有类似情况,因此,他的博文基本都会转载过来,也会标注转载,做一个备份。不过文章太多,不会每篇文章都有转载于孤傲沧狼的链接,只会在开篇第一章有链接。 java是我学习的第一门编程语言,当初学习java基础的时候下了不少功夫,趁着这段时间找工作之际,好好整理一下以前学习java基础时记录...转载 2018-07-25 09:40:37 · 567 阅读 · 0 评论 -
java基础学习总结(三)——基础语法1
一.标识符 二.关键字 三.JAVA基础数据类型 3.1. java常量 3.2. java变量 从本质上来讲,变量其实是内存里面的一小块区域,一个程序在运行的时候,实际上这个程序是位于内存里面,然后才开始运行。一个.exe文件存放在硬盘上是无法运行的,在硬盘上看到的.exe文件无非就是一个文件而已,当我们双击这个.exe文件时,运行起来的时候实际上是...转载 2018-07-25 09:51:51 · 200 阅读 · 0 评论 -
java基础学习总结(四)——基础语法2
一、语句 1.1. 条件语句 1.1.1 if语句 1.1.2 分支语句(switch语句) 1.2. 循环语句 1.2.1 for循环语句 学会画内存分析图分析别人写的程序,这样就很容易分析出规律,分析出规律也就明白了别人的算法,也就很容易读懂别人的程序。 在内存中分析result=1!+2!……+10!的算法...转载 2018-07-25 10:45:43 · 115 阅读 · 0 评论 -
java基础学习总结(五)——面向对象1
目录 一、面向过程的思想和面向对象的思想 二、简单理解面向对象 三、面向对象的设计思想 四、对象和类的概念 五、如何抽象出一个类? 六、类(对象)之间的关系 一.关联关系(最弱的一种关系) 二.继承关系(比较强的一种关系) 三.聚合关系(整体和部分)(比较强的一种关系) 四.实现关系 五.多态 七、Java与面向对象 八、为什么使用面向对象编程? 一、面向过程的思...转载 2018-07-25 11:16:54 · 182 阅读 · 0 评论 -
java基础学习总结(六)——异常处理
一、异常的概念 异常指的是运行期出现的错误,也就是当程序开始执行以后执行期出现的错误。出现错误时观察错误的名字和行号最为重要。 1 package cn.javastudy.summary; 2 3 public class TestEx{ 4 5 public static void main(String args[]){ 6 ...转载 2018-07-25 14:44:27 · 171 阅读 · 0 评论 -
java基础学习总结(七)——数组
一.数组的基本概念 数组可以看成是多个相同类型数据组合,对这些数据的统一管理。 数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。 数组的元素可以是任何数据类型,包括基本类型和引用类型。 C和C++中的数组都可以分配在栈上面,而JAVA中的数组是只能分配在堆上面的,因为JAVA中的数组是引用类型。 二.一维数组 一维数组的声明方式有2种: 格式一:数组元...转载 2018-07-25 15:46:01 · 165 阅读 · 0 评论 -
java基础学习总结(八)——GUI编程(一)
一、AWT介绍 所有的可以显示出来的图形元素都称为Component,Component代表了所有的可见的图形元素,Component里面有一种比较特殊的图形元素叫Container,Container(容器)在图形界面里面是一种可以容纳其它Component元素的一种容器,Container本身也是一种Component的,Container里面也可以容纳别的Container。 ...转载 2018-07-26 11:41:07 · 224 阅读 · 0 评论 -
java基础学习总结(九)——网络编程
一、网络基础概念 首先理清一个概念:网络编程 != 网站编程,网络编程现在一般称为TCP/IP编程。 二、网络通信协议及接口 三、通信协议分层思想 四、参考模型 五、IP协议 每个人的电脑都有一个独一无二的IP地址,这样互相通信时就不会传错信息了。 IP地址是用一个点来分成四段的,在计算机内部IP地址是用四个字节来表示的,一个字...转载 2018-07-26 11:43:09 · 279 阅读 · 0 评论 -
java基础学习总结(十)——网络编程二
第14章:网络编程(day20) day20 day20_03网络通信概述 主要内容 网络编程概述 通讯要素 IP和端口号 网络通信协议 InetAddress类 TCP网络通信 UDP网络通信 URL编程 网络编程概述 Java是 Internet 上的语言,它从语言级上提供了对网络应用程序的支持,程序员能够很容易开发常见的网络应用程序。 Java提供的网...原创 2018-07-26 16:17:09 · 296 阅读 · 0 评论 -
java基础学习总结(十一)——GUI编程(二)
一、事件监听 测试代码一: 1 package cn.javastudy.summary; 2 3 import java.awt.*; 4 import java.awt.event.*; 5 6 public class TestActionEvent { 7 public static void main(String args[]) { 8 ...转载 2018-08-09 19:06:25 · 232 阅读 · 0 评论 -
java基础学习总结(十二)——线程(一)
一、线程的基本概念 线程理解:线程是一个程序里面不同的执行路径 每一个分支都叫做一个线程,main()叫做主分支,也叫主线程。 程序只是一个静态的概念,机器上的一个.class文件,机器上的一个.exe文件,这个叫做一个进程。程序的执行过程都是这样的:首先把程序的代码放到内存的代码区里面,代码放到代码区后并没有马上开始执行,但这时候说明了一个进程准备开始,进程已经产生了,...转载 2018-08-09 19:09:25 · 110 阅读 · 0 评论 -
Java基础学习总结(二十九)——Java制作证书的工具keytool用法总结
一、keytool的概念 keytool 是个密钥和证书管理工具。它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务。在JDK 1.4以后的版本中都包含了这一工具,它的位置为%JAVA_HOME%\bin\keytool.exe,如下图所示: 二、keytool的用法 三、创建证书 创建...转载 2018-08-17 14:10:42 · 281 阅读 · 0 评论