![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javaSE
-红桃K
刨根问底 往祖坟上刨
你知道的越多 你不知道的也越多
展开
-
JavaSE之彻底搞懂try,catch,finally与return的执行
版权声明:本文为CSDN博主「狼王神起」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/qq_36262896/article/details/79779953在开始我的博客之前,我先引用马士兵老师的一句话,掌握了内存你就掌握了一切(滑稽)。一般情况下,程序执行到try里面的...转载 2020-03-12 18:23:31 · 114 阅读 · 0 评论 -
Java发展史
世界上并没有完美的程序,因为写程序本来就是一个不断追求完美的过程Java:一次编写,到处运行(Write Once,Run Anywhere)Java技术体系按技术关注的重点业务领域划分:Java Card:支持一些Java小程序(Applets)运行在小内存设备上的平台(如智能卡)Java ME:支持Java程序运行在移动终端上的平台(如手机,PDA(掌上电脑))Java S...原创 2019-08-14 13:34:11 · 337 阅读 · 4 评论 -
类之间的关系
面向对象编程中,除了继承关系之外,还有一些其他类关系:泛化和实现,依赖,关联、聚合和组合继承也被称为Is-A关系,因为从另一个类继承而来的类能够被当成父类来使用泛化当一个类表示多个类的共享特征时,这称之为泛化。当一个类表示一般类的特殊实例时,这称之为特化例如,Vehicle是Bike,Car,Trcuk的泛化,Car是Vehicle的特化UML术语中,描述继承的关系称为泛...原创 2020-02-03 15:18:59 · 627 阅读 · 0 评论 -
Java编程范式
自有软件开发以来,开发人员尝试了不同的方式设计编程语言,不同的编程语言都有一系列的概念、原则和规定,而这些概念、原则和规定就被称为编程范式。 从理论上来讲,希望编程语言只遵从一个范式,但是实际上一个语言往往拥有多个编程范式Java编程范式1.命令式编程核心内容就是:“用语句更改程序的状态”大多数流行的编程语言都或多或少基于命令式编程发展而...原创 2020-02-02 15:24:26 · 928 阅读 · 0 评论 -
Java到底是不是一种纯面向对象语言?
Java——是否确实的 “纯面向对象”?让我们深入到Java的世界,试图来证实它。在我刚开始学习 Java 的前面几年,我从书本里知道了 Java 是遵循 “面向对象编程范式(Object Oriented Programming paradigm)”的。在Java世界内一切都是对象,甚至包括字符串(String)这些都是对象(在 C 语言中,字符串是字符数组),那时候,我认为 Java是一种...原创 2019-08-23 21:54:43 · 372 阅读 · 0 评论 -
Java包装类详解
包装类的意义Java是一门面向对象的语言,但是Java的八种基本数据类型却没有对象的特征,更没有对象的功能(没有属性,不能调用方法)基本数据类型不能调用方法,这就给我们很多的操作带来不便,另外容器(例如List、HashMap等)基本接收存储的都是Object,不能接收基本数据类型。为了解决这个问题我们就要把所谓的基本数据类型包装成对象,使其具有对象的特征来方便使用 clas...原创 2019-08-20 16:10:55 · 1397 阅读 · 1 评论 -
Java内部类详解
基本概念内部类:所谓内部类就是在一个类的内部进行其他类结构的嵌套的操作说法统一: 若A、B、C三个类,B是A的内部类,那么A就叫做外部类,而C跟A、B无嵌套关系,成为外部类的外部内部类存在意义1. 内部类方法可以访问该类定义所在作用域中的数据,包括被 private 修饰的私有数据2. 内部类可以对同一包中的其他类隐藏起来3. 内部类可...原创 2019-08-15 11:33:18 · 801 阅读 · 0 评论 -
Java this、super关键字的使用和对比
thisJava中经常会见到this关键字this关键字主要有以下三个方面的用途: 1.this调用本类属性 2.this调用本类方法 3.this表示当前对象this调用本类属性class Person{ private String name; private int age; public P...原创 2019-08-12 18:41:37 · 387 阅读 · 0 评论 -
Java final 关键字 (附一道有趣的运算题,final相关)
final是终态的意思,在Java中final被称为终结器final可以用来修饰变量、方法、类final修饰变量final 修饰的变量叫常量,常量必须初始化,初始化之后值就不能被修改(必须在声明的时候初始化或者在构造器中初始化,否则就会报编译错误)。final修饰方法final修饰的方法不能被子类重写final修饰类使用final定义的类不能有子类...原创 2019-08-16 15:04:40 · 777 阅读 · 0 评论 -
Java基本数据类型(包装类)与字符串的相互转换
基本数据类型转换为字符串方法一利用 “+” 拼接空白字符串(" ",空字符串指长度为0,不是指null)字符串和任何数据使用 + 都是拼接,最终都会变成字符串方法二利用String类中提供的静态方法String.valueOf();返回一个String对象注意:包装类中也有此名方法,如Integer.valueOf(); 返回的是对应的包装类对象方法三...原创 2019-08-22 13:46:52 · 937 阅读 · 0 评论 -
Java抽象类与抽象方法
定义被“abstract”关键字修饰的类(方法)就是抽象类(方法)抽象类和抽象方法的关系抽象方法只能存在于抽象类中,但是抽象类中却不一定有抽象方法抽象方法只包含一个方法名,而没有方法体。也就是说抽象方法没有定义,方法名后面直接跟一个分号,而不是花括号。抽象类的特点抽象类最大的特点就是抽象类是无法实例化对象的,只能通过子类的继承,通过对象多态性利用子类为其实例化对...原创 2019-08-18 12:13:39 · 621 阅读 · 0 评论 -
Java访问权限修饰符
public>protect>默认(包私有)>private原创 2019-08-18 14:02:07 · 212 阅读 · 0 评论 -
Java接口详解
定义Java接口由Interface定义,他并不是类,但是和类是一个级别,与类有一些共性也有着很大的区别接口的组成在Java编程语言中接口是一个抽象类型,是抽象方法和全局常量的集合定义一个接口public interface IMessage{ public static final String MSG = "I am a student" ; // 全...原创 2019-08-18 17:42:34 · 619 阅读 · 0 评论 -
Java Static关键字
“static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。这实际上正是static方法的主要用途。” ...原创 2019-08-15 10:40:38 · 608 阅读 · 0 评论 -
Java构造方法(构造器)
Java的所有类都有构造方法(2019.8.15修改,匿名内部类也没有构造方法,因为没有类名)构造方法的作用就是进行对象的初始化构造方法相对于其他普通方法来讲,有以下一些原则: 1.方法名称必须与类名相同 2.构造方法没有返回值类型声明 3.每个类中一定至少存在一个构造方法(没有明确定义,则系统自动会生成一个无参构造(在字节码中))...原创 2019-08-12 22:35:07 · 886 阅读 · 0 评论 -
Java对数组的支持(Java数组操作的一些方法)
数组排序java.util.Arrays.sort(arrayName);(升序方法)public class ArrayDemo{ public static void main(String[] args) { int[] intData = new int[]{1,65,55,23,100} ; char[] charData = new c...原创 2019-08-10 12:00:46 · 335 阅读 · 0 评论 -
值为null的对象为什么可以调用静态方法而不报错(空指针)呢?
今天刷题也是遇到了一个比较奇怪的题目,先让大家一起来看一看因为hello方法是一个static修饰的类方法,可以用类名调用,也可以用实例调用。此处用实例调用,但实例值为空,所以我起初认为编译肯定通过,但是会抛出一个java.lang.NullPointerException的RuntimeException但是运行结果却是在控制台成功的打印出了hello,这令我十分费解。...原创 2019-07-19 13:10:35 · 1917 阅读 · 13 评论 -
Math.round(); Math.ceil(); Math.floor();最简单明了的对比
结论放在文章开头:1.round方法就是四舍五入但在参数为负数且小数部分为0.5时特殊,会向正无穷大方向取整(最近的整数)参数为-0.5f 结果为02.ceil方法向上取整 参数为0.1 结果为1.03.floor方法向下取整 参数为0.9 结果为0.0这三种方法尽管有区别,但是都有一个共性,这三个方法都是取数学整数的,但是取整的方式不同先说Math.ceil(...原创 2019-07-20 11:21:34 · 698 阅读 · 0 评论 -
JAVA Object类中 hashcode(); equals();用法区别详解
这两个方法都是来自Object类中的方法,都可以用来进行对象的比较从JDK源码中可以看到equals()方法进行比较实际上就是 ==public boolean equals(Object obj) { return (this == obj);}基本数据类型就是值比较引用数据类型就是引用比较,实际上就是引用地址值的比较大家都知道JAVA中Object类是其...原创 2019-08-01 16:47:50 · 640 阅读 · 0 评论 -
JDK5-9新特性一览
JDK5-9新特性一览原创 2019-08-18 17:11:40 · 301 阅读 · 0 评论 -
Java凭什么如此流行——Java的十一个特性(参考Java白皮书)
一、简单性 Java语法是C++语法的一个“纯净版本”。这里没有头文件、指针运算(甚至指针语法)、结构、联合、操作符重 载、虚基类等等。不仅如此,Java开发环境远远超出大多数其他编程语言的开发环境。二、面向对象 什么是面向对象? 这里我们用木匠打一个比方,一个“面向对象”的木匠始终关注的是所制作的椅子,第二位才是所 使用的工具;而一个“非面向对象...原创 2019-08-07 16:12:46 · 326 阅读 · 0 评论 -
Java方法重载和方法重写的区别
要搞清楚方法重载和方法重写的区别,首先要先搞清楚这两者的意义何在方法重载方法重载这个概念是在一个类中,是类中方法以统一的方式处理不同类型数据的一种手段。同时也是Java多态性的一种体现方法重写方法重写这个概念存在于有继承关系的两个类中,是子类方法对父类方法进行扩展的一种手段,同时也是Java多态性的一种体现那么具体他们要遵循什么规则呢?先说方法重载: ...原创 2019-08-10 10:04:25 · 641 阅读 · 0 评论 -
Java数据类型划分
Java是强类型语言,每一个变量都必须声明类型Java数据类型分为两大类: 基本数据类型:byte、short、int、long、float、double、char、boolean 引用数据类型:数组、类、接口等按存储大小顺序来说:boolean:1位byte:一个字节char:两个字节short:两个字节int:四个字节fl...原创 2019-08-08 17:03:13 · 377 阅读 · 0 评论 -
Java注释
Java注释分为三种:单行注释:// 注释内容多行注释:/* 注释内容*/文档注释:/** 文档注释 */(常见于方法和类之上描述方法和类的作用),可用来自动生成文档所有语言都有自己的注释方式,为什么要写注释?写注释只是给别人看的吗? 注释很好的提高了代码的可读性,好的代码一定要有很高的可读性,其次注释不仅仅是给别人看的,自己写的代码逻辑说不定也会有遗忘的那一...原创 2019-08-08 15:33:52 · 350 阅读 · 0 评论 -
Java关键字分类及保留字
关键字:在所有程序中有特殊意义的文字标记Java中有两个未使用的保留字:goto、constJava中有三个特殊含义的单词:null、ture、falseJDK1.4后追加了 assert关键字;JDK1.5以后追加了enum关键字...原创 2019-08-08 10:23:51 · 419 阅读 · 0 评论 -
Java标识符以及命名规范
Java语言中,对于变量,常量,函数,语句块也有名字,我们统统称之为Java标识符。命名规则一、标识符由字母、数字、_(下划线)、$所组成,其中不能以数字开头,不能用Java中的保留字(关键字)注:字母包括英文26个字母 ,汉字,日文,朝鲜文,俄文,希腊字母等。二、标识符采用有意义的简单命名对于类和变量的命名,Java的标准命名规范为“驼峰”命名法驼峰命名...原创 2019-08-07 16:44:18 · 287 阅读 · 0 评论 -
字符与字节的区别
1、计算机存储信息的最小单位,称之为位(bit),音译为比特,二进制的一个“0”或一个“1”叫一位。2、计算机存储容量基本单位是字节(Byte),音译为拜特,8个二进制位组成1个字节。一般而言:一个标准英文字母占一个字节位置,一个标准汉字占二个字节位置。3、计算机存储容量大小以字节数来度量,1024进位制: 1024B=1K(千)B 1024KB=1M(兆)B 1024MB...原创 2019-08-04 16:12:42 · 420 阅读 · 0 评论 -
单例模式的八种写法
文章转载自 secondriver 51CTO博客。手写单例,不心慌单例模式是最常用到的设计模式之一,熟悉设计模式的朋友对单例模式都不会陌生。一般介绍单例模式的书籍,文章都会提到饿汉式和懒汉式这两种实现方式。但是除了这两种方式,实际上还有很多种方式。模式简介单例模式是一种常用的软件设计模式,其定义是单例对象的类只能允许一个实例存在。许多时候整个系统只需要拥有一个的全局对...原创 2019-02-14 18:34:10 · 435 阅读 · 0 评论 -
Java数组的初始化方式
Java数组有两种初始化方式动态初始化 拿int类型举例int [] array = new int [6]; 也可以分步进行动态初始化int array [] = null;array = new int [6];动态初始化数组之后,数组中的内容都是数组数据类型的默认值,该数组中六个元素都为0。因为数组本身就是一个有序的集合,所以之后对数组中内容的操...原创 2019-08-10 11:19:22 · 402 阅读 · 0 评论 -
对象的类型转换(向上和向下转型)以及ClassCastException
ClassCastException,字面上来看就是类型转换异常,让我们来先看一下API中的叙述。ClassCastException继承了RuntimeException,是java异常体系中的非检查异常,也叫做运行时异常。说到这里很多刚开始学习java的同学可能不太了解java的异常体系,可以看一下我的其他博客,这里就不详细叙述了。可能很多人在写代码的过程中...原创 2019-02-05 16:56:03 · 1873 阅读 · 1 评论